大家好,又见面了,我是你们的朋友全栈君。
1.Request对象
是当客户端向服务器端发送请求时,服务器为本次请求创建request对象,并在调用Servlet的service方法时,将该对象传递给service方法。Request对象中封装了客户端发送过来的所有的请求数据。
2.Request常用的API
Request对象的类型是HttpServletRequest,该类中定义了很多与http协议相关的方法,比如获取请求头信息,请求方式,客户端ip地址等信息。下面是常用的API.
(1)常用信息
String getRemoteAddr():获取客户端ip地址
String getMethod():获取客户端请求方式。例如:get或post
(2)获取请求头信息
String getHeader(String name):获取单值的请求头的值。
int getIntHeader(String name):获取单值int类型的请求头的值
3.Request获取请求参数方法
request对象获取请求参数的方法有以下几个,详情请看表1-1:
表1-1 request获取请求参数方法介绍
方法名 | 方法介绍 |
---|---|
String getParameter(String name ) | 获取指定名称的请求参数值,适用于单值的请求参数 |
String[] getParameterValues(String name) | 获取指定名称的请求参数值,适用于多值的请求参数 |
Enumeration<String> getParameterNames() | 获取所有的请求参数名称 |
Map<String,String[]> getParameterMap() | 获取所有请求参数,其中参数名作为map的key,参数值作为map的value. |
牛刀小试
客户端表单
代码语言:javascript复制<span style="font-family:SimSun;font-size:18px;"><body>
<h1>测试</h1>
<hr/>
<form action="/Test/ParamServlet" method="post">
用户名:<input type="text" name="username"/><br/>
密 码:<input type="password" name="password"/><br/>
爱 好:<input type="checkbox" name="hobby" value="cf"/>吃饭
<input type="checkbox" name="hobby" value="sj"/>睡觉
<input type="checkbox" name="hobby" value="ddm"/>打代码
<br/>
<input type="submit" value="提交"/>
</form>
</body>
</span>
服务器端接收
代码语言:javascript复制<span style="font-family:SimSun;font-size:18px;">public class ParamServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("GET: " request.getParameter("xxx"));
System.out.println("GET: " request.getParameter("yyy"));
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String[] hobby = request.getParameterValues("hobby");
System.out.println(username ", " password ", " Arrays.toString(hobby));
}
}
</span>
4.Request获取请求路径方法介绍
Request对象中包含的是请求信息。下面以一个路径为例子,为大家展示请求路径的几个方法。
地址:http://localhost:8080/Test/login?username=zhangsan.
Request对象通过以下方法来获取请求路径。
(1)String getServerName():获取服务器名:localhost
(2)String getServerPort():获取服务器端口号:8080
(3)String getContextPath():获取项目名:Test
(4)String getServletPath():获取Servlet路径:/login
(5)String getQueryString():获取参数部门,即问号后面的部分:username=zhangsan
(6)String getRequestURL():获取请求URL
下面用一张图来展示一下
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135326.html原文链接:https://javaforall.cn