下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过HttpServletRequest 对象可用。

1    Cookie[] getCookies()

返回一个数组,包含客户端发送该请求的所有的Cookie 对象。

2    Enumeration getAttributeNames()

返回一个枚举,包含提供给该请求可用的属性名称。

3    Enumeration getHeaderNames()

返回一个枚举,包含在该请求中包含的所有的头名。

4    Enumeration getParameterNames()

返回一个 String 对象的枚举,包含在该请求中包含的参数的名称。

5    HttpSession getSession()

返回与该请求关联的当前 session 会话,或者如果请求没有session 会话,则创建一个。

6    HttpSession getSession(boolean create)

返回与该请求关联的当前HttpSession,或者如果没有当前会话,且创建是真的,则返回一个新的 session 会话。

7    Locale getLocale()

基于 Accept-Language 头,返回客户端接受内容的首选的区域设置。

8    Object getAttribute(Stringname)

以对象形式返回已命名属性的值,如果没有给定名称的属性存在,则返回 null。

9    ServletInputStream getInputStream()

使用 ServletInputStream,以二进制数据形式检索请求的主体。

10  String getAuthType()

返回用于保护 Servlet 的身份验证方案的名称,例如,"BASIC" 或 "SSL",如果JSP没有受到保护则返回 null。

11  String getCharacterEncoding()

返回请求主体中使用的字符编码的名称。

12  String getContentType()

返回请求主体的 MIME 类型,如果不知道类型则返回null。

13  String getContextPath()

返回指示请求上下文的请求 URI 部分。

14  String getHeader(Stringname)

以字符串形式返回指定的请求头的值。

15  String getMethod()

返回请求的 HTTP 方法的名称,例如,GET、POST 或 PUT。

16  String getParameter(Stringname)

以字符串形式返回请求参数的值,或者如果参数不存在则返回 null。

17  String getPathInfo()

当请求发出时,返回与客户端发送的 URL 相关的任何额外的路径信息。

18  String getProtocol()

返回请求协议的名称和版本。

19  String getQueryString()

返回包含在路径后的请求 URL 中的查询字符串。

20  String getRemoteAddr()

返回发送请求的客户端的互联网协议(IP)地址。

21  String getRemoteHost()

返回发送请求的客户端的完全限定名称。

22  String getRemoteUser()

如果用户已通过身份验证,则返回发出请求的登录用户,或者如果用户未通过身份验证,则返回 null。

23  String getRequestURI()

从协议名称直到 HTTP 请求的第一行的查询字符串中,返回该请求的 URL 的一部分。

24  String getRequestedSessionId()

返回由客户端指定的 session 会话 ID。

25  String getServletPath()

返回调用 JSP 的请求的 URL 的一部分。

26  String[] getParameterValues(Stringname)

返回一个字符串对象的数组,包含所有给定的请求参数的值,如果参数不存在则返回 null。

27  boolean isSecure()

返回一个布尔值,指示请求是否使用安全通道,如 HTTPS。

28  int getContentLength()

以字节为单位返回请求主体的长度,并提供输入流,或者如果长度未知则返回 -1。

29  int getIntHeader(Stringname)

返回指定的请求头的值为一个 int 值。

30  int getServerPort()

返回接收到这个请求的端口号。

以下是来自于浏览器端的重要头信息,可以在Web 编程中频繁使用:

可以使用request.getHeader(attributeName)来获取一下属性,如request.getHeader(“accept”)可以获取浏览器的支持格式

Accept     这个头信息指定浏览器或其他客户端可以处理的 MIME 类型。值 image/png 或 image/jpeg 是最常见的两种可能值。

Accept-Charset      这个头信息指定浏览器可以用来显示信息的字符集。例如 ISO-8859-1。

Accept-Encoding     这个头信息指定浏览器知道如何处理的编码类型。值 gzip 或 compress 是最常见的两种可能值。

Accept-Language     这个头信息指定客户端的首选语言,在这种情况下,Servlet 会产生多种语言的结果。例如,en、en-us、ru 等。

Authorization   这个头信息用于客户端在访问受密码保护的网页时识别自己的身份。

Connection       这个头信息指示客户端是否可以处理持久HTTP 连接。持久连接允许客户端或其他浏览器通过单个请求来检索多个文件。值 Keep-Alive 意味着使用了持续连接。

Content-Length       这个头信息只适用于 POST 请求,并给出 POST 数据的大小(以字节为单位)。

Cookie     这个头信息把之前发送到浏览器的 cookies 返回到服务器。

Host     这个头信息指定原始的 URL 中的主机和端口。

If-Modified-Since     这个头信息表示只有当页面在指定的日期后已更改时,客户端想要的页面。如果没有新的结果可以使用,服务器会发送一个 304 代码,表示 Not Modified 头信息。

If-Unmodified-Since       这个头信息是If-Modified-Since 的对立面,它指定只有当文档早于指定日期时,操作才会成功。

Referer     这个头信息指示所指向的 Web 页的 URL。例如,如果您在网页 1,点击一个链接到网页 2,当浏览器请求网页 2 时,网页 1 的 URL 就会包含在 Referer 头信息中。

User-Agent     这个头信息识别发出请求的浏览器或其他客户端,并可以向不同类型的浏览器返回不同的内容。

Servlet之Request对象的更多相关文章

  1. 10 Servlet+Http+Request对象

    1.Servlet的体系结构 Servlet -- 接口----->GenericServlet -- 抽象类------->HttpServlet -- 抽象类 (1)GenericSe ...

  2. Servlet学习request对象总结

    一.servletContext对象和request对象的比较 ServletContext 何时创建:服务器启动 何时销毁:服务器关闭 域的作用范围:整个web应用 request 何时创建:访问时 ...

  3. Servlet中request对象得到路径问题

    1.项目源码:假设现在有一个名为JavaWeb的项目,其中有一个名为TestServlet的serlvet,其doGet方法为: protected void doGet(HttpServletReq ...

  4. Request对象介绍(客户端到服务器)

    1.处理请求和响应的过程request,response,关于request可以从三个方面着手学习.1:如何获取请求头  行  体   2:请求中文处理     3:请求对象的其它常用方法 1.1:r ...

  5. 重温Servlet学习笔记--request对象

    request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...

  6. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  7. Servlet第四篇【request对象常用方法、应用】

    什么是HttpServletRequest HttpServletRequest**对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,**HTTP请求头中的所有信息都封装在这个对象中,开发人 ...

  8. Servlet中的request对象、重定向和转发的差别(6)

    1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中 ...

  9. Servlet - request对象相关

    request对象中封装了当前请求的所有请求信息, request对象由Tomcat服务器创建, 并作为实参传递给处理请求的Servlet的service()方法 1. 获取请求头数据 // 获取请求 ...

随机推荐

  1. 洛谷P2221 [HAOI2012]高速公路

    线段树 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> ...

  2. 【AHOI2005】病毒检测

    题目描述 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地. 科学家们经过几 ...

  3. Linux添加系统调用的两种方法

    前言 系统调用的基本原理 系统调用其实就是函数调用,只不过调用的是内核态的函数,但是我们知道,用户态是不能随意调用内核态的函数的,所以采用软中断的方式从用户态陷入到内核态.在内核中通过软中断0X80, ...

  4. hdu 3433 A Task Process 二分+dp

    A Task Process Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  5. 例10-1 uva11582(裴波那切数列)

    题意:你的任务是计算f(a^b)除以n的余数.其中f(0)=f(1)=1,且对于所有非负整数i,f(i+2)=f(i+1)+f(i). 思路: 由于是模运算,因此整个序列肯定会出现重复序列,所以先找出 ...

  6. [Codeforces]813F Bipartite Checking

    往期题目补档.既然被选为了经典题就拿来写一写. Description 给定一张含有n个点的无向图,一开始图中没有任何边.依次给出q次操作,每次操作给出两个点“x y”,若x和y之间没有边相连,则连上 ...

  7. 基于 Hexo + GitHub Pages 搭建个人博客(三)

    一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...

  8. python中的缩进问题

    python中没有{}来表示代码块,而是用缩进来表示,刚开始写python代码,没有注意缩进,结果各种报错(( ╯□╰ )). 在python中的原则就是同一层次的代码一定要有相同的缩进!!! 从上图 ...

  9. Xcode8 添加PCH文件

    转自默默desire 1.)  打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > ...

  10. Mysql中where条件一个单引号引发的性能损耗

    日常写SQL中可能会有一些小细节忽略了导致整个sql的性能下降了好几倍甚至几十倍,几百倍.以下这个示例就是mysql语句中的一个单引号('')引发的性能耗损,我相信很多朋友都遇到过,甚至还在这样写. ...