Javaweb中Request获取表单数据的方法有哪些

2023-06-20,

今天小编给大家分享一下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);
            }
        }
    }

运行结果

以上就是“Javaweb中Request获取表单数据的方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注本站行业资讯频道。

《Javaweb中Request获取表单数据的方法有哪些.doc》

下载本文的Word格式文档,以方便收藏与打印。