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

目录
  • 表单代码
  • request.getParamter(String name);通过name获取值
  • request.getParamterValues(String name);通过name获取value值(一般用于复选框获取值) 代码片段
  • request.getParameterNames();直接获取表单所有对象的name值,返回值是枚举集合
  • request.getParameterMap();直接获取表单所有对象的name值以及数据

表单代码

<!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获取表单数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java 遍历request中的所有表单数据的实例代码

    实例如下: Enumeration rnames=request.getParameterNames(); for (Enumeration e = rnames ; e.hasMoreElements() ;) { String thisName=e.nextElement().toString(); String thisValue=request.getParameter(thisName); System.out.println(thisName+"-------"+thisV

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

    目录 表单代码 request.getParamter(String name);通过name获取值 request.getParamterValues(String name);通过name获取value值(一般用于复选框获取值) 代码片段 request.getParameterNames();直接获取表单所有对象的name值,返回值是枚举集合 request.getParameterMap();直接获取表单所有对象的name值以及数据 表单代码 <!DOCTYPE html> <h

  • 通过表单的做为二进制文件上传request.totalbytes提取出上传的二级制数据

    复制代码 代码如下: <input name="file" type="file"> formsize=request.totalbytes formdata=request.binaryread(formsize) bncrlf=chrB(13) & chrB(10) divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) datastart=instrb(formdata,bncrlf

  • ajax post方式表单提交setRequestHeader报错解决方法

    当我们创建一个异步对象XMLHttpRequest同时post方式向后台传输数据的时候. 我们要设置异步对象的xhr.setRequestHeader成员的值为 XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");否则的话后台是不能接收到传过去的值的.因为在谷歌浏览器的编译器中显示,传值在Request Payload中,这是错误的(如图) --属性

  • JScript中遍历Request表单参数集合的方法

    JScript下有一个Enumerator对象可以遍历集合.根据它的文档写了以下程序,可以遍历整个Request.QueryString集合: 复制代码 代码如下: var params = new Enumerator(Request.QueryString); while (!params.atEnd()) { Response.Write(params.item() + ":" + Request.QueryString(params.item()) + "<br

  • JS中不应该使用箭头函数的四种情况详解

    目录 箭头函数的一些缺点 1.不支持参数对象 2.无法通过apply.call.bind来改变this指针 什么时候不能使用箭头功能 1.请不要在构造函数中使用箭头函数 2.请不要在点击事件中操作this 3.请不要在对象的方法中使用箭头函数. 4.请不要在原型链中使用箭头函数 箭头函数给我们的工作带来了极大的方便,但是它们有什么缺点呢?我们应该一直使用箭头函数吗?我们应该在哪些场景中停止使用箭头函数? 现在,我们开始吧. 箭头函数的一些缺点 1.不支持参数对象 在箭头函数中,我们不能像在普通函

  • nodejs获取表单数据的三种方法实例

    前言 nodejs作为服务端语言,在开发中注册登录等需通过form表单向后端发送数据进行判断,那作为服务端语言的nodejs通过哪些方法可以接收调用form表单的post请求值呢. 常见的会用到以下三种,让我们对着例子看看具体用法. 后端我们使用express插件,需要对express有所了解的才便于阅读哦~ 1.首先npm初始化,下载express包,导入模块后创建服务对象 //导入express模块 const express = require("express"); // 创建

  • Vue项目中打包优化的四种方法详解

    目录 前言 打包优化的目的: 性能优化的主要方向: 1.异步组件配置(路由懒加载) 2.去掉打包后的 console 3.使用CDN 4.yarn build生成dist目录 总结 前言 默认情况下,通过import语法导入的第三方依赖包,最终会全部打包到一个js文件中,会导致单文件体积过大大,在网速底下时会阻塞网页加载,影响用户体验. 打包优化的目的: 1.项目启动速度,和性能 2.必要的清理数据 3.减少打包后的体积 第一点是核心,第二点呢其实主要是清理console 性能优化的主要方向:

  • Java中ArrayList初始化的四种方法详解

    1 起因 在实际业务开发中, 我们经常会遇到需要临时创建一个数组的情况, 今天我们就来讲一下Java中ArrayList初始化的方法 2 解决方案 直接上结论, 总共有四种初始化方法: 双括号法 Arrays.asList stream Lists 2.1 双括号法 List<Integer> test = new ArrayList<Integer>(){{ add(1); add(2); }}; 2.2 Arrays.asList List<Integer> tes

  • vue中组件之间相互通信传值的几种方法详解

    目录 vue中组件之间相互通讯传值的方式 1.子组件和父组件通讯,通过调用父组件给组件自定义属性值来实现 2.父组件主动获取子组件数据 3.使用provide/inject方法实现 4.使用事件总线 5.vuex\localStorage\sessionStorage 总结 vue中组件之间相互通讯传值的方式 我们在使用vue进行项目开发的时候为了更好地管理项目,我们会把每个功能封装成一个个的组件,在使用的时候直接引入并且调用组件来实现代码的复用. 我们在封装组件的时候经常会留有一些预留的接口,

  • MySQL中dd::columns表结构转table过程及应用详解

    目录 一.MySQL的dd表介绍 二.代码跟踪 三.知识应用 四.总结 一.MySQL的dd表介绍 MySQL的dd表是用来存放表结构和各种建表信息的,客户端建的表都存在mysql.table和mysql.columns表里,还有一个表mysql.column_type_elements比较特殊,用来存放SET和ENUM类型的字段集合值信息.看一下下面这张表的mysql.columns表和mysql.column_type_elements信息.为了缩短显示长度,这里只展示几个重要的值. #建表

  • bootstrap中的 form表单属性role="form"的作用详解

    html 里面的 role 本质上是增强语义性,当现有的HTML标签不能充分表达语义性的时候,就可以借助role来说明.通常这种情况出现在一些自定义的组件上,这样可增强组件的可访问性.可用性和可交互性. role的作用是描述一个非标准的tag的实际作用.比如用div做button,那么设置div 的 role="button",辅助工具就可以认出这实际上是个button 比如, <div role="checkbox" aria-checked="c

  • bootstrap中的 form表单属性role="form"的作用详解

    html 里面的 role 本质上是增强语义性,当现有的HTML标签不能充分表达语义性的时候,就可以借助role来说明.通常这种情况出现在一些自定义的组件上,这样可增强组件的可访问性.可用性和可交互性. role的作用是描述一个非标准的tag的实际作用.比如用div做button,那么设置div 的 role="button",辅助工具就可以认出这实际上是个button 比如, <div role="checkbox" aria-checked="c

  • 详解JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过MessageDigest类进行MD5加密,第三步转换成16进制的MD5码值.几种方法的不同点主要在第一步和第三步上.具体可以看下面的例子: 方法一. private final static String[] strHex = { "0", "1", "2"

随机推荐