HttpServletRequest

HttpServletRequest
Web客户端发送给Web服务器的HTTP请求信息包含三部分:请求行、请求消息头、消息正文(实体内容)。消息正文只在以POST、PUT、DELETE等方式发出请求时才出现。Servlet的API定义了一个ServletRequest接口类来获取客户端请求信息以及客户机和服务器的网络环境信息。HttpServletRequest是专门用于HTTP协议的ServletRequest接口,用于封装HTTP请求信息,增加获取HTTP协议专有的头信息方法,支持Cookie和Session跟踪以及获取HTTP请求消息参数的功能。

4.1    获取请求行信息
4.1.1.1    GetMethod
返回HTTP请求信息终端请求方式:GET、POST、HEAD、PUT、DELETE等
4.1.1.2    getRequestURI
返回请求行中的资源名部分。
例:

http://localhost:8080/JSPProject/servlet/ServletRequestServlet?params1=&params2=2
 

返回的是:/servlet/ServletRequestServlet
4.1.1.3    getQueryString
返回请求行中的参数部分。
例:

http://localhost:8080/JSPProject/servlet/ServletRequestServlet?params1=&params2=2
 

返回的是: params1=&params2=2



4.1.1.4    getProtocol
返回请求行中的协议名称和版本。
4.1.1.5    getContextPath
返回请求URL所属的WEB应用程序的路径。
4.1.1.6    getPathInfo
返回请求URL中额外路径信息,额外路径信息室请求URL中的位于Servlet的路径之后和查询参数之前的内容。在MVC框架模式中,客户端所有请求都指向一个中央控制器的Servlet,其他各个JSP页面则作为URL中的额外路径部分,由这个Servlet根据额外路径信息去调用其他各个JSP页面。
4.1.1.7    getPathTranslated
返回URL中的额外路径信息所对应的资源的物理路径。
4.1.1.8    getServletPath
返回Servlet的名称或Servlet所映射的路径

4.2    获取请求头信息
4.2.1.1    getHeader
返回一个指定名称的头字段值。
4.2.1.2    getHeaders
返回一个Enumeration集合,该集合对象由请求消息中出现的所有头字段值组成。
4.2.1.3    getHeaderName
返回一个包含请求信息中所有头字段名的Enumeration对象。
4.2.1.4    getIntHeader
获取指定名称的头字段并将其转换为Int型
4.2.1.5    getDateHeader
用于获取一个指定名称的头字段的值并将其转换为日期型
4.2.1.6    getContentType
返回Content-Type头字段值
4.2.1.7    getContentLength
返回Content-Length头字段值
4.2.1.8    getCharacterEncoding
返回请求消息的实体部分的字符集编码
4.3    获取请求参数
4.3.1.1    getParameter
返回某个指定名称的参数的值
4.3.1.2    getParameterValues
返回多个相同名称的参数
4.3.1.3    getParameterNames
返回一个包含请求消息中所有参数名的Enumeration对象。
4.3.1.4    getParameterMap
将请求消息中的所有参数名和值装入Map中


4.4    获取请求消息实体内容
4.4.1.1    getInputStream/getReader
getInputStream返回一个代表实体内容为ServletInputStreamd输入流对象。如果实体内容包含二进制数据,使用该方法。
getReader返回一个代表肢体内容的BufferedReader对象。在调用getReader方法之前可以调用setCharacterEncoding方法设置字符集编码。



4.5    利用请求域属性传递信息
4.5.1.1    setAttribute
用于将一个对象与一个名称关联后存储进ServletRequest对象中。
4.5.1.2    getAttribute
用于从ServletRequest中返回指定名称的属性对象。
4.5.1.3    removeAttribute
删除指定名称的属性。
4.5.1.4    getAttributeNames
获取属性名称返回一个Enumeration对象

注:Servlet对象中的属性只对当前请求有效,对于其他请求无效,也就说请求域属性只能用于在通过RequestDispatcher的forward和include方法贯穿起来的多个Servlet或JSP页面之间共享数据。
通过URL地址后面附加参数的方式可以在两个Servlet之间传递信息,但是只能传递简单的字符文本信息,不能像请求域那样传递复杂对象。

你可能感兴趣的:(jsp,应用服务器,Web,servlet,网络协议)