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获取各种路径总结 #### 一、概述 在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在...
入参的HttpServletRequest必须为:import jakarta.servlet.http.HttpServletRequest; 运行cmd,再该目录下执行: 执行步骤:java -jar jakartaee-migration-1.0.1.jar commons-fileupload-1.4.jar commons-...
【httpservletRequest的学习笔记】 在Java Web开发中,HttpServletRequest接口是Servlet API的核心组成部分,它用于封装客户端发送到服务器的HTTP请求。理解HttpServletRequest的工作原理对于任何Servlet开发者来说...
HttpServletRequest-response方法总结 HttpServletRequest和HttpServletResponse是Servlet编程中两个最重要的接口,它们提供了对HTTP请求和响应的控制和处理。下面是对HttpServletRequest和HttpServletResponse的...
httpservletrequest、httpsession的jar包,导入资源包。
以上代码展示了如何使用`HttpServletRequest`和`HttpServletResponse`接口来处理和设置请求头及响应头,这对于构建高效、安全且功能丰富的Web应用程序至关重要。通过对这些头信息的有效管理和利用,可以极大地提升...
在Servlet框架中,装饰模式能够解决特定问题,例如处理HttpServletRequest对象。 **问题与解决方案** Servlet Filter是一个强大的工具,可以在请求到达Servlet之前或之后进行拦截操作,如用户验证和内容压缩。然而...
本文将深入探讨 `HttpServletRequest` 中的 `getRequestURL()` 和 `getRequestURI()` 方法的区别。 首先,我们来看 `getRequestURI()` 方法。`getRequestURI()` 返回的是客户端发送请求时的完整统一资源标识符(URI...
分析HttpServletRequest 内容 解析出设备来源 手机 电脑 什么种类浏览器 什么系统
Java中,引入javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse包的必备jar包:org.apache.commons.httpclient.jar
在JavaWeb开发中,`HttpServletRequest`对象和会话管理是两个关键的概念,它们构成了Web应用程序交互的基础。这次我们将深入探讨这两个主题,特别是关于Cookie的使用。 `HttpServletRequest`对象是Servlet API的一...
在Java Web开发中,`HttpServletRequest`和`HttpServletResponse`是两个至关重要的接口,它们是Java Servlet API的核心组成部分,用于处理客户端(通常是Web浏览器)与服务器之间的HTTP通信。这两个接口提供了丰富的...
在实际开发中,我们经常需要对HttpServletRequest进行扩展或增强,以满足特定的业务需求,这时装饰模式就派上了用场。 装饰模式是一种设计模式,它允许我们向一个现有的对象添加新的行为或责任,而无需修改该对象的...
在Java Web应用开发中,HttpServletRequest和HttpServletResponse是两个核心的接口,它们扮演着至关重要的角色。这两个接口是Java Servlet API的一部分,为开发人员提供了处理HTTP请求和构造HTTP响应的丰富功能。...
HttpServletRequest 对象在 JavaWeb 开发中的应用 HttpServletRequest 对象是 JavaWeb 开发中最常用的对象之一,它提供了一系列方法来获取 HTTP 请求的相关信息。在本文中,我们将详细介绍 HttpServletRequest 对象...
HttpServletRequest对象在Java Web开发中扮演着至关重要的角色,它是Servlet API的一部分,用于处理客户端通过HTTP协议发送到服务器的请求。这个对象提供了丰富的接口和方法,允许开发者获取客户端的各种信息,包括...
【HttpServletRequest与HttpServletResponse详解】 在Java Web开发中,HttpServletRequest和HttpServletResponse是Servlet API中的核心接口,它们分别代表了客户端的HTTP请求和服务器的HTTP响应。每次客户端向Web...
此外,`HttpServletRequest`还提供了其他有用的功能,如获取请求的远程IP地址(`getRemoteAddr()`),获取会话(`getSession()`),检查请求是否为异步处理(`isAsyncSupported()`,`isAsyncStarted()`)等。...
`HttpServletRequest`和`HttpServletResponse`是两个核心的Servlet接口,它们是服务器与客户端之间交互的关键组件。下面我们将深入探讨这两个接口的功能、用法及实际应用案例。 `HttpServletRequest`接口代表了来自...