大家好,又见面了,我是你们的朋友全栈君。
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. |
牛刀小试
客户端表单
<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>
服务器端接收
<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
下面用一张图来展示一下
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135326.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...