HttpServletRequest接口
为 记录客户端请求信息 的接口 ,实现了ServletRequest
接口
当客户端通过 HTTP协议
访问服务器时
HTTP
请求头中的所有信息 都 封装在request
对象 中,通过这个对象实现的HttpServletRequest
方法,可以获得客户端请求的所有信息。
常用方法
获得客户机信息 和 请求头内容
方法 | 作用 |
---|
boolean authenticate(HttpServletResponse response) | 使用为ServletContext 配置的容器登录机制来验证发出此请求的用户。 |
java.lang.String getAuthType() | 返回用于保护servlet的认证方案的名称。 |
java.lang.String getContextPath() | 返回指示请求上下文的请求URI部分. |
Cookie[] getCookies() | 返回包含客户端随此请求发送的所有Cookie 对象的数组。 |
long getDateHeader(java.lang.String name) | 将指定的请求标头的值作为表示Date 对象的长整型值返回。 |
java.lang.String getHeader(java.lang.String name) | 以String 形式返回指定的请求标头的值。 |
java.util.Enumeration<java.lang.String> getHeaderNames() | 返回此请求包含的所有标头名称的枚举。 |
java.util.Enumeration<java.lang.String> getHeaders(java.lang.String name) | 将指定请求标头的所有值作为字符串对象的枚举返回。 |
int getIntHeader(java.lang.String name) | 以int 形式返回指定请求标头的值 |
java.lang.String getMethod() | 返回进行此请求的HTTP方法 的名称,例如,GET ,POST 或PUT 。 |
Part getPart(java.lang.String name) | 获取给定名称的零件。 |
java.util.Collection<Part> getParts() | 获取此请求的所有Part 部件,只要它是multipart / form-data 类型。 |
java.lang.String getPathInfo() | 返回客户端发出此请求时发送的与URL 关联的任何额外路径信息。 |
java.lang.String getPathTranslated() | 返回servlet 名称之后但查询字符串之前的任何额外路径信息,并将其转换为实际路径。 |
java.lang.String getQueryString() | 返回路径后请求URL 中包含的查询字符串。 |
java.lang.String getRemoteUser() | 返回发出此请求的用户的登录名(如果用户已通过身份验证);如果用户未通过身份验证,则返回null |
java.lang.String getRequestedSessionId() | 返回客户端指定的会话ID。 |
java.lang.String getRequestURI() | 从协议名称直到HTTP 请求第一行中的查询字符串返回此请求URL 的一部分。 |
java.lang.StringBuffer getRequestURL() | 重新构建客户端用于发出请求的URL。 |
java.lang.String getServletPath() | 返回调用servlet 的请求URL的部分。 |
HttpSession getSession() | 返回与此请求关联的当前会话,或者如果请求没有会话,则创建一个会话。 |
HttpSession getSession(boolean create) | 返回与此请求关联的当前HttpSession ,或者,如果没有当前会话且create为true,则返回新会话。 |
java.security.Principal getUserPrincipal() | 返回包含当前已通过身份验证的用户名称的java.security.Principal 对象。 |
boolean isRequestedSessionIdFromCookie() | 检查请求的会话ID是否作为cookie 进入。 |
boolean isRequestedSessionIdFromURL() | 检查请求的会话ID是否作为请求URL的一部分进入。 |
boolean isRequestedSessionIdValid() | 检查请求的会话ID是否仍然有效。 |
boolean isUserInRole(java.lang.String role) | 返回一个布尔值,指示经过身份验证的用户是否包含在指定的逻辑“role” |
void login(java.lang.String username, java.lang.String password) | 在为ServletContext 配置的Web 容器登录机制使用的密码验证领域验证提供的用户名和密码。 |
void logout() | 在请求中调用getUserPrincipal ,getRemoteUser 和getAuthType 时,将返回的值设置为null。 |
方法 | 作用 |
---|
java.lang.Object getAttribute(java.lang.String name) | 以Object 的形式返回指定属性名称的值;如果不存在指定名称的属性,则返回null 。 |
java.util.Enumeration<java.lang.String> getAttributeNames() | 返回包含可用于此请求的属性名称的Enumeration |
java.lang.String getCharacterEncoding() | 返回此请求正文 中 使用的字符编码的名称 |
int getContentLength() | 返回请求主体的长度(以字节为单位),并由输入流提供;如果长度未知,则返回-1。 |
java.lang.String getContentType() | 返回请求主体的MIME 类型(文件类型),如果类型未知,则返回null 。 |
DispatcherType getDispatcherType() | 获取此请求的调度程序类型 |
ServletInputStream getInputStream() | 使用ServletInputStream 将请求的主体作为二进制数据进行检索。 |
java.lang.String getLocalAddr() | 返回要接受 request 请求的IP 地址。 |
java.util.Locale getLocale() | 基于Accept-Language 头返回客户端 可以接受内容 的 首选Locale |
java.lang.String getLocalName() | 返回收到请求的主机名。 |
int getLocalPort() | 返回接收请求的端口号 |
java.lang.String getParameter(java.lang.String name) | 以String 形式返回请求参数的值,如果参数不存在,则返回null 。 |
java.util.Map<java.lang.String,java.lang.String[]> getParameterMap() | 返回此请求的参数的java.util.Map |
java.util.Enumeration<java.lang.String> getParameterNames() | 返回包含此请求中包含的参数名称的String 对象的Enumeration 。 |
java.lang.String[] getParameterValues(java.lang.String name) | 返回包含给定请求参数所有值的String 对象数组,如果该参数不存在,则返回null 。 |
java.lang.String getProtocol() | 以protocol / majorVersion.minorVersion 格式返回请求使用的协议的名称和版本,例如HTTP / 1.1 |
java.io.BufferedReader getReader() | 使用BufferedReader 作为字符数据检索请求的主体。 |
java.lang.String getRemoteAddr() | 返回发送请求的客户端或最后一个代理的IP 地址。 |
java.lang.String getRemoteHost() | 返回客户端的完全限定名或发送请求的最后一个代理。 |
int getRemotePort() | 返回发送请求的客户端或最后一个代理的IP 源端口。 |
RequestDispatcher getRequestDispatcher(java.lang.String path) | 返回一个RequestDispatcher对象,充当位于给定路径的资源的包装器。 |
java.lang.String getScheme() | 返回用于发出此请求的方案的名称,例如http,https或ftp。 |
java.lang.String getServerName() | 返回发送请求的服务器的主机名。 |
int getServerPort() | 返回请求发送到的端口号。 |
异步操作
方法 | 作用 |
---|
ServletContext getServletContext() | 获取此ServletRequest 异步操作中上次分派到的Servletcontext 。 |
boolean isAsyncStarted() | 检查此请求是否已进入异步模式。. |
boolean isAsyncSupported() | 检查此请求是否支持异步操作。 |
boolean isSecure() | 返回一个布尔值,指示此请求是否使用安全通道(如HTTPS)进行。 |
void removeAttribute(java.lang.String name) | 从此请求中删除一个属性。 |
void setAttribute(java.lang.String name, java.lang.Object o) | 在此请求中存储一个的属性 |
void setCharacterEncoding(java.lang.String env) | 覆盖此请求正文中使用的字符编码的名称。 |
AsyncContext startAsync() | 将此请求置于异步模式,并使用原始(未包装的)ServletRequest 和ServletResponse 对象初始化其AsyncContext 。 |
AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) | 将此请求置于异步模式,并使用给定的请求和响应对象初始化其AsyncContext 。 |
一些方法过时,已不再使用 ,这里不做介绍