Javaweb中Request获取表单数据的四种方法详解
作者:Distance-X 发布时间:2023-10-07 03:07:02
标签:Javaweb,Request,表单数据
表单代码
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="getParamter" method="get">
<input type="text" name="username" placeholder="请输入用户名"></br>
<input type="password" name="password" placeholder="请输入密码"></br>
<input type="checkbox" name="hobby" value="study">学习
<input type="checkbox" name="hobby" value="basktball">打篮球
<input type="checkbox" name="hobby" value="sleep">睡觉</br>
<input type="submit" value="提交">
</form>
</body>
</html>
request.getParamter(String name);通过name获取值
代码片段
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过name属性获取值
String name = request.getParameter("username");
System.out.println("获取到的姓名是:"+name);
String pwd = request.getParameter("password");
System.out.println("获取到的密码是: "+pwd);
}
运行结果
request.getParamterValues(String name);通过name获取value值(一般用于复选框获取值) 代码片段
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过name属性获取value值
String[] names = request.getParameterValues("username");
for (String name : names) {
System.out.println("获取得到的姓名是 " + name);
}
String[] hobbys = request.getParameterValues("hobby");
for (String hobby : hobbys) {
System.out.println("复选框的值是: " + hobby);
}
}
运行结果
总结:此方法虽然是通过name获取value值,但是对于普通输入框是直接获取的是它们的输入值,类似第一种方法,普通输入框获取值可以使用但是不建议使用,一般用来获取复选框的值
request.getParameterNames();直接获取表单所有对象的name值,返回值是枚举集合
代码片段
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过name属性获取value值
Enumeration<String> names2 = request.getParameterNames();
while (names2.hasMoreElements()){
String name =names2.nextElement();
System.out.println(name);
}
}
运行结果
总结:获取到name值以后采用第一种方法获取真实的值
request.getParameterMap();直接获取表单所有对象的name值以及数据
该方法的返回值是map集合,集合key是String类型,value是Sting类型的数组
代码片段
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过map代表所有的值 ,集合中的key代表表单name值 value代表表单数据
Map<String, String[]> map = request.getParameterMap();
//通过keySet遍历集合
Set<String> keySet = map.keySet();
for(String key : keySet){
System.out.println("表单的name值: "+key);
//通过key值获取所有value值
String[] values = map.get(key);
for(String value : values ){
System.out.println("表单中的数据: "+value);
}
}
}
运行结果
总结:该方法获取所有值,所以有复选框的时候可以选择这种方法
来源:https://blog.csdn.net/weixin_43582611/article/details/98889030


猜你喜欢
- 我最近在研究Spring框架的路上,那么今天也算个学习笔记吧!学习一下如何实现Bean的装配方法Bean的简介Java开发者一般会听过Jav
- 试用了Overt.Core.Grpc, 把 GRPC 的使用改造得像 WCF, 性能测试也非常不错, 非常推荐各位使用.但已有项目大多是 h
- 当 Maven 无法依赖 spring-cloud-starter-zipkin 时,您可以尝试以下方法解决:确保拼写正确:请检查项目中的
- 目录1、什么是LockSupport?2、两类基本API3、LockSupport本质4、LockSupport例子5、LockSuppor
- 通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用Video
- 一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):1.Java自带的java.util.Timer类,这个类允许你调度一
- 直接调用Math里面的random即可,简单方便int i = (int)(Math.random()*100+1);
- ArrayList类List集合的实例化:List<String> l = new ArrayList<String>
- 在第一次启动项目的时候,由于使用了RabbitMQ的默认guest账号,怎么也登不进去,后来还是在Admin重新创建了一个其他的账号,然后开
- 概述异步这个概念在不同语境下有不同的解释,比如在一个单核CPU里开启两个线程执行两个函数,通常认为这种调用是异步的,但对于CPU来说它是单核
- 一、前言我们经常会遇到业务想看debug日志的问题,但是debug日志频繁打印会对日志查看有影响,且日志多对系统也会有一定的压力,因此,如果
- 前言本文主要介绍了如果通过输入年份月份输出天数的相关内容,下面话不多说了,来一起看看详细的介绍吧示例代码package com.ambow.
- 本文实例为大家分享了java实现文件归档和还原的具体代码,供大家参考,具体内容如下基本思路: 文件归档,换句话就是把多个文件的字节
- 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数
- 嵌套查询使用Fluent Mybatis, 不用手写一行xml文件或者Mapper文件,在dao类中即可使用java api构造中比较复杂的
- 创建一个TextHello类 TextHello类的代码如下@Controller@RequestMapping("/h
- 1、maven引入quartz包<!-- https://mvnrepository.com/artifact/org.quartz-
- 深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象
- 引入:前段时间去银行办业务,排队的人那是真多,自己正式办理业务也就不到5分钟,但是却足足等了两个小时(相信很多人都遇到过这种情况),对这种服
- ScrollConfiguration( behavior: NoScrollBehaviorWidget(),