1. Request概述
2. reuqest获取请求消息内容
请求行
请求头
请求参数(体)
3. request其他功能
请求转发
域对象
一.Request概述:
- 用户通过浏览器访问服务器时,Tomcat将HTTP请求中所有的信息都封装在Request对象中
- 作用:开发人员可以通过request对象方法,来获取浏览器发送的所有信息.
Web 服务器收到客户端的 http 请求,会针对每一次请求分别创建一个用于代表请求的 request 对象和代表响应的 response 对象。
Request的体系结构
javax.servlet.http.HttpServletReuqest不是相关请求的顶级接口,它继承自 父接口javax.servlet.ServletRequest:
上图为继承关系:HttpServletRequest 对象代表客户端的请求,当客户端通过 HTTP 协议访问服务器时, HTTP 请求中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
在javaEE中我们是面向接口编程
通过以上分析:Request对象进行常用的操作为:
1) 获取请求数据2)作为域对象3)请求转发
二 Request获取Http请求信息
Api介绍
String getMethod() 获取请求方式的类型 如:GET或POST
StringBuffer getRequestURL() 获取客户端发出请求完整URL
String getRequestURI() 获取请求行中的资源名部分
String getContextPath() 获取当前项目根路径
String getProtocol() 获取当前协议的名称和版本
String getRemoteAddr() 获取IP地址
int getLocalPort() 获取端口
注:uri: 统一资源标识符 , 用来标识一个资源 , 资源路径。 ( 相当于身份证 )url: 统一资源定位符 , 是一种具体的 URI, 可以用来标识一个资源 . 并且指明了如何定位一个资源(相当于身份证的地址)如:http://localhost:8080/wsl/demourl: http://localhost:8080/wsl/demouri: /wsl/demo
1。获取请求行信息
* 例如:
GET /wsl_request/requestDemo1 HTTP/1.1
* 相关API:
1. 获取请求方式 GET
String getMethod()
2. 获取项目虚拟路径(项目名)/wsl_request
String getContextPath()
3. 获取URI /wsl_request/requestDemo1
统一资源标识符(范围广) 共和国
String getRequestURI()
4. 获取URL http://localhost:8080/wsl_request/requestDemo1
统一资源定位符(确定某一个地址) 中华人民共和国
StringBuffer getRequestURL()
5. 获取协议和版本号 HTTP/1.1
String getProtocol()
6. 获取客户端ip
String getRemoteAddr()
@WebServlet("/requestDemo1")
public class RequestDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletEx