request对象是JSP中重要的对象,每个request对象封装着一次用户的请求,并且所有的请求参数都被封装在request对象中,因此request对象是获取请求参数的重要途径。

一、获取请求头与请求参数

web应用是请求/响应架构的应用,浏览器发送请求时通常总会附带一些请求头,还可能包含一些请求参数发送给服务器,服务器端负责解析请求头/请求参数的就是JSP或Servlet,而JSP和Servlet取的请求参数的途径就是request。request是httpServletRequest接口的实例,它提供了如下方法来获得请求参数:

    • String getParameter(String paramName) :获取paramName请求参数的值。
    • Map getParameterMap() :获取所有请求参数名和参数值所组成的Map对象。
    • Enumeration getParameterNames() :获取所有请求参数名所组成的Enumeration对象。
    • String[] getParameterValues(String name) : paramName请求参数的值,当该请求参数有多个值时,该方法将返回多个值所组成的数组。

httpSevletRequest提供如下方法来访问请求头:

    • String getHeader(String name): 获取指定请求头的值
    • java.util.Enumeration<String> getHeaderNames(): 获取所有请求头的名称
    • java.util.Enumeration<String> getHeaderNames(String name):获取指定请求头的多个值
    • int getIntHeader(String name):获取指定请求头的值,并将其转化为整数。


请求头通常由浏览器自动添加,因此一次请求总是包含若干请求头;请求参数通常需要开发人员控制添加,客户端发送请求参数通常分为两种情况:

1、GET方式请求:直接在浏览器地址栏输入所发送的请求;提交表单时,该表单对应的form元素没有设置method属性,或设置method属性为get,这几种请求都是GET方式的请求。GET方式请求会将请求参数的名和值转换成字符串,并附加在原URL之后,因此可以在浏览器的地址栏上看到请求参数名和值,GET请求传输的数据量较小,不能大于2KB。

2、POST方式请求:这种方式通常使用提交表单的方式来发送,且需要设置form元素的method属性为post。POST传输的数据量较大,请求参数大小通常受服务器的限制。POST方式发送的请求参数以及对应的值放在HTML HEADER中传输,用户不能在地址栏上看到请求参数的值,安全性较高。

代码示例:

  表单页面:form.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
 2 <%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
 3 <!DOCtype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 4     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head>
 7     <title>收集参数的表单页</title>
 8 </head>
 9 <body>
10 <form id="form1" method="post" action="request.jsp">
11 用户名:<br/>
12 <input type="text" name="name"><hr />
13 性别:<br />
14 男:<input type="radio" name="gender" value="男">
15 女:<input type="radio" name="gender" value="女"><hr />
16 喜欢的颜色:<br />
17 红:<input type="checkbox" name="color" value="红">
18 蓝:<input type="checkbox" name="color" value="蓝">
19 绿:<input type="checkbox" name="color" value="绿">
20 来自的国家:<br />
21 <select name="country">
22     <option value="中国">中国</option>
23     <option value="美国">美国</option>
24     <option value="俄罗斯">俄罗斯</option>
25 </select><hr />
26 <input type="submit" value="提交">
27 <input type="reset" value="重置">
28 </form>
29 </body>
30 </html>
View Code

相关文章:

  • 2021-07-30
  • 2022-12-23
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-11-02
  • 2021-12-29
猜你喜欢
  • 2021-05-06
  • 2021-09-24
  • 2021-06-11
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案