Javaweb中Request获取表单数据的四种方法详解

作者:Distance-X 时间:2023-10-07 03:07:02 

表单代码

<!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);
   }

运行结果

Javaweb中Request获取表单数据的四种方法详解

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);
       }
}

运行结果

Javaweb中Request获取表单数据的四种方法详解

总结:此方法虽然是通过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);
       }
   }

运行结果

Javaweb中Request获取表单数据的四种方法详解

总结:获取到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);
           }
       }
   }

运行结果

Javaweb中Request获取表单数据的四种方法详解

总结:该方法获取所有值,所以有复选框的时候可以选择这种方法

来源:https://blog.csdn.net/weixin_43582611/article/details/98889030

标签:Javaweb,Request,表单数据
0
投稿

猜你喜欢

  • 如何在IDE部署springboot项目(有swagger和无swagger都是一样的)到服务器或者虚拟机上的docker

    2023-09-01 00:33:25
  • 基于Android实现ListView圆角效果

    2022-01-18 01:40:33
  • Java编写网上超市购物结算功能程序

    2021-10-29 13:55:52
  • idea乱码修改bin目录下的idea.exe.vmoptions无效问题

    2022-08-02 19:17:55
  • C#控件picturebox实现图像拖拽和缩放

    2023-08-09 08:23:05
  • Swagger2匹配多个controller代码实例

    2022-07-31 03:42:24
  • 完美解决Spring声明式事务不回滚的问题

    2023-07-12 14:38:50
  • Java中List.of()和Arrays.asList()的区别及原因分析

    2023-08-06 00:33:16
  • VS2019打包WPF安装程序最新教程(图文详解)

    2021-11-18 15:52:08
  • 浅析Java的Hibernate框架中的缓存和延迟加载机制

    2023-04-12 15:58:00
  • 浅谈C#在网络波动时防重复提交的方法

    2022-07-23 22:37:01
  • java查找字符串中的包含子字符串的个数实现代码

    2022-08-15 17:48:45
  • Java Hutool 包工具类推荐 ExcelUtil详解

    2023-01-22 23:47:12
  • Mybatis中连接查询和嵌套查询实例代码

    2021-08-23 13:24:31
  • Java Hibernate使用SessionFactory创建Session案例详解

    2022-03-04 06:21:28
  • Android zygote启动流程详解

    2023-09-13 07:44:12
  • java 文件上传到读取文件内容的实例

    2023-11-09 22:00:27
  • Java常用的八种排序算法及代码实现+图解

    2022-04-09 13:30:06
  • C# DataGridView绑定数据源的方法

    2023-06-30 00:26:39
  • Android实现ViewPage轮播图效果

    2023-08-12 16:25:43
  • asp之家 软件编程 m.aspxhome.com