`

HttpServletRequest遍历页面提交参数

阅读更多

最近写了一个返回link的小组件,和MVC框架配合使用,主要用于系统异常后在页面显示一个返回按钮,主要原理是在上次页面提交时,保存了连接地址和参数,并且传递到页面中,当点击了按钮以后,就按照地址和参数进行提交。

 

在实际应用中,发现HttpServletRequest对象在遍历页面传递参数的时候,有几种方式:

 

1, 使用getParameterMap 获取一个不可变的Map

这个Map中包含了以表单方式提交或者URL提交的所有参数和参数值的Map

但这个方法在实际测试中发现对于文件上传这种方式上传时,即form提交方式是multipart/form-data时,得到的Map是一个NULL值,导致后期抛出了异常

 

2, 使用getParameterNames获取一个Enumeration对象,这个对象中包含了所有页面提交的参数名称,然后需要配合使用getParameterValues()得到对应的值的列表

 

所以在后期的改造中,优先使用getParameterMap,当探测到返回值为null时,再去遍历Enumberation的值,这样就兼容了form提交表单的两种方式了

分享到:
评论

相关推荐

    jsp遍历文件夹下的文件的代码.docx

    - 如果不是首次访问,则使用上一次页面提交的目录作为起始点。 2. **读取目录**: - 使用 `list()` 方法获取指定目录下的所有文件名和子目录名; - 对每个文件或子目录进行判断,如果是目录则添加到 `directory`...

    jsp源码实例2(获取表单参数).docx

    然后,遍历这些参数名,对于每个参数名,获取其对应的值数组 `paramValues`。如果这个参数只有一个值,那么就检查该值是否为空,如果为空,则显示 "No Value";如果不为空,则直接显示该值。如果参数有多个值,那么...

    Ajax使用POST提交中文乱码问题.docx

    在示例中,`act.jsp`页面的`for`循环遍历了请求参数,并使用`URLDecoder.decode()`进行解码,确保了中文字符的正确显示。 总结来说,解决Ajax POST提交中文乱码问题的关键在于前端编码两次并确保后端使用正确的解码...

    jquery实现页面之间的传值功能

    后端处理主要是接收前端发送的请求参数,并根据该参数进行相应的业务逻辑处理,最后返回处理结果给前端页面。 ```java package servlet; import java.io.IOException; import javax.servlet.ServletException; ...

    jsp页面上传类

    - 逐个遍历请求中的参数和文件,通过`ServletInputStream`读取文件内容。 - 使用`BufferedOutputStream`写入文件,创建新文件时可能包含时间戳以避免重名。 - 存储表单中的其他非文件参数到`paramHt`,便于后续...

    servlet 适合初学者

    在Servlet中,我们可以通过`HttpServletRequest`对象来获取这些参数。例如,如果List是以JSON字符串形式发送的,我们可以这样做: ```java String listJson = request.getParameter("listParam"); List<String> ...

    基于Java代码实现支付充值的通用流程

    方法接收HttpServletRequest和HttpServletResponse对象,以及一个@RequestParam注解的Map参数,用于获取请求参数。在这个方法中,通常会进行一系列的业务逻辑处理,例如验证请求数据、调用服务层进行支付订单创建或...

    Hibernate servlet 和 JSP页面

    在处理请求时,Servlet可以使用HttpServletRequest和HttpServletResponse对象获取和设置请求及响应参数。 3. JSP 页面: JSP 页面是HTML代码和Java代码的混合体,它允许开发者在HTML中嵌入Java表达式和脚本元素,...

    4、JAVA培训之JSP基础request对象笔记[归纳].pdf

    此外,JSP中还有一些常见的表单控件,例如隐藏域(`<input type="hidden">`),它的值不会显示在页面上,但会在表单提交时发送到服务器。这对于存储非用户交互数据非常有用。 在URL中传递参数,例如`...

    java多图片上传、删除、预览,post提交

    需要注意文件大小限制、类型验证和安全性问题,如防止路径遍历攻击。 2. **layui插件的使用**: - layui提供了一套完整的图片上传组件,它基于JavaScript和HTML5,支持多图上传、进度条显示等功能。通过配置参数,...

    Web端基本的模糊查询、单个删除修改及批量删除功能

    在后台的Servlet中,接收到请求后,通过HttpServletRequest对象获取关键字参数,然后使用SQL的LIKE语句进行模糊匹配查询。查询结果返回到前端,可以用JSP的EL(Expression Language)和JSTL(JavaServer Pages ...

    JSP的Request对象练习源代码

    2. **获取所有请求参数**:通过`getParameterNames()`,我们可以得到一个包含所有参数名的`Enumeration`,这在遍历所有参数时非常有用。 3. **获取请求头信息**:`getHeader()`和`getHeaders()`方法可以帮助我们...

    在JSP页面中实现检索数据的分页显示.doc

    - **保存查询条件**:当用户提交查询请求时,Servlet会接收这些条件并将其保存在`session`中,以便后续页面跳转时仍能访问到这些参数。 - **设置分页参数**:在执行SQL查询之前,我们需要设定Statement对象的`...

    JavaWeb中的简单分页完整代码(推荐)

    创建一个名为login.jsp的登录页面,用户通过该页面提交登录信息。登录信息提交后,请求将被转发到一个Servlet中处理。 接下来是创建一个实体类User.java,用于表示用户数据模型。在这个例子中,User类包含两个私有...

    java EE jsp试卷

    这可能涉及到遍历请求参数,比较用户答案与标准答案,然后计算得分。 通过这份试卷,开发者可以检验自己是否能正确处理用户输入、实现会话管理、错误处理、以及动态生成页面的能力。同时,也能测试对Servlet和JSP...

    JSP内置对象 很好用,没有 病毒

    7. `getParameter(String name)`:获取指定参数的单一值,通常用于处理表单提交。 8. `getParameterNames()`:返回一个枚举器,包含所有请求参数的名称。 9. `getParameterValues(String name)`:返回一个字符串数组...

    action 和jsp

    从前端到后端的参数传递主要是指用户通过表单提交或者Ajax请求等方式向服务器发送数据。这些数据最终会被Action处理。常见的传递方式有两种: 1. **GET方法**:参数直接拼接在URL后面,例如`...

    java面试笔试试题

    - `HttpServletRequest.getParameterNames()`:返回一个包含所有参数名的枚举,可以遍历以获取所有参数。 4. Entity Bean和Session Bean的区别: - Entity Bean:通常对应数据库中的实体记录,负责数据持久化。 ...

    javaweb课后简答题.docx

    - 通过HttpServletRequest对象的getParameterNames()方法获取所有参数名,然后遍历并用getParameter()获取对应参数值。 10. **会话跟踪与会话失效**: - 会话跟踪通过Session对象实现,常用Cookie或URL重写。 - ...

Global site tag (gtag.js) - Google Analytics