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=¶ms2=2
返回的是:/servlet/ServletRequestServlet
4.1.1.3 getQueryString
返回请求行中的参数部分。
例:
http://localhost:8080/JSPProject/servlet/ServletRequestServlet?params1=¶ms2=2
返回的是: params1=¶ms2=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之间传递信息,但是只能传递简单的字符文本信息,不能像请求域那样传递复杂对象。
分享到:
相关推荐
入参的HttpServletRequest必须为:import jakarta.servlet.http.HttpServletRequest; 运行cmd,再该目录下执行: 执行步骤:java -jar jakartaee-migration-1.0.1.jar commons-fileupload-1.4.jar commons-...
从HttpServletRequest获取各种路径总结.docx从HttpServletRequest获取各种路径总结.docx
httpservletrequest、httpsession的jar包,导入资源包。
分析HttpServletRequest 内容 解析出设备来源 手机 电脑 什么种类浏览器 什么系统
httpservletRequest的学习笔记
Java中,引入javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse包的必备jar包:org.apache.commons.httpclient.jar
HttpServletRequest 中 getRequestURL和getRequestURI的区别文档
JAVAWEB-09:HttpServletRequest对象&会话管理之Cookie
如题,HttpServletReques HttpServletResponse很常见的
java HttpServletRequest HttpServletResponse 源码 request response
将获取http请求的参数转换成Map集合
装饰模式是Erich Gamma等人所著的《设计模式:可利用面向对象软件的基础》一书中众多模式之一。一般来说,此模式在设计Swing的程序员中比较流行,他们用它来改进软件。今天,即使有许多程序是基于Web应用的,装饰...
HTTP客户程序(例如浏览器),向...如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。 下面是一些最常见的请求头 ......
传智博客PPT HttpServletRequest的应用.ppt
NULL 博文链接:https://201610222643.iteye.com/blog/2397598
HttpServletRequest 详解 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
HttpServletRequest和HttpServletResponse的讲解,讲解了用法,案例
JavaWeb开发技术-HttpServletRequest对象.pptx
最基础的Servlet开发例子,适用于新手学习尝试,基础开发
Tomcat HttpServletRequest中几个解析URL的函数在Servlet处理URL请求的路径时,HTTPServletRequest有如下几个常