HttpServletRequest简介
•
Servlet
API
中定义的
ServletRequest
接口类用于封装请求消息。
•
HttpServletRequest
是专用于
HTTP
协议
的
ServletRequest
子接口,它用于封装
HTTP
请求消息。
•
在
service()
方法内部调用
HttpServletRequest
对象的各种方法来获取请求消息。
获取请求行的相关信息
•
HTTP
请求消息的请求行包括请求方式、资源路径和
HTTP
协议版本:
GET /lampbrother/servlet/RequestURI?param1=a¶m2=bHTTP/1.1
HttpServletRequest hsr = (HttpServletRequest)request;
•
getMethod
:返回
HTTP
请求消息中的请求方式。
•
getRequestURI
:
返回请求行中的资源名部分。--->/FP/helloMoto
•
getQueryString
:返回请求行中的参数部分。
•
getProtocol
:返回请求行中的协议名和版本。
•
getContextPath
:
返回请求资源所属于的
WEB
应用程序的路径。--->/FP
•
getPathInfo
:返回请求
URL
中的额外路径信息。额外路径信息是请求
URL
中的位于
Servlet
的路径之后和查询参数之前的内容,它以“
/”
开头。
•
getPathTranslated
:返回
URL
中的额外路径信息所对应的资源的真实路径。
•
getServletPath
方法:
Servlet
的名称或
Servlet
所映射的路径。--->/helloMoto
获取网络连接信息
•
getRemoteAddr
方法返回发出请求的客户机的
IP
地址,其格式为“
192.168.0.3”
这种形式的字符文本。
(*)
•
getRemoteHost
方法返回发出请求的客户机的完整主机名,即“
pc1.atguigu.com”
这种格式。
•
getRemotePort
方法返回发出请求的客户机所使用的网络接口的端口号。
•
getLocalAddr
方法返回
WEB
服务器上接收当前请求的网络接口的
IP
地址。
•
getLocalName
方法返回
WEB
服务器上接收当前请求的网络接口的
IP
地址所对应的主机名。
•
getLocalPort
方法返回
WEB
服务器上接收当前请求的网络接口的端口号。
•
getServerName
方法返回当前请求所指向的主机名。
•
getServerPort
方法返回当前请求所连接的服务器端口号。
•
getScheme
方法返回请求的协议名,例如
http
、
https
或
ftp
。
•
getRequestURL
方法返回客户端发出请求时的完整
URL
。
获取请求头信息
•
getHeader
方法
•
getHeaders
方法
•
getHeaderNames
方法
•
getIntHeader
方法
•
getDateHeader
方法
•
getContentType
方法
•
getContentLength
方法
•
getCharacterEncoding
方法
获取请求参数
•
getParameter
方法
•
getParameterValues
方法
•
getParameterNames
方法
•
getParameterMap
方法
获取请求参数的编程实例
请求域属性
•
存储在
ServletRequest
对象中的对象称之为请求域属性,属于同一个请求的多个处理模块之间可以通过请求域属性来传递对象数据。
•
与请求域属性相关的方法:
setAttribute
方法
getAttribute
方法
removeAttribute
方法
getAttributeNames
方法