在Servlet中使用请求头(Request Header)

徐晟楠Rose

徐晟楠Rose

2016-01-29 12:45

在Servlet中使用请求头(Request Header),在Servlet中使用请求头(Request Header)
来源:LoveJSP.site
Request Header简介
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)

Accept 浏览器可接受的MIME类型
Accept-Charset 浏览器支持的字符编码
Accept-Encoding 浏览器知道如何解码的数据编码类型(如 gzip)。Servlets 可以预先检查浏览器是否支持gzip并可以对支持gzip的浏览器返回gzipped的HTML页面,并设置Content-Encoding回应头(response header)来指出发送的内容是已经gzipped的。在大多数情况下,这样做可以加快网页下载的速度。
Accept-Language 浏览器指定的语言,当Server支持多语种时起作用。
Authorization 认证信息,一般是对服务器发出的WWW-Authenticate头的回应。
Connection 是否使用持续连接。如果servlet发现这个字段的值是Keep-Alive,或者由发出请求的命令行发现浏览器支持 HTTP 1.1 (持续连接是它的默认选项),使用持续连接可以使保护很多小文件的页面的下载时间减少。
Content-Length (使用POST方法提交时,传递数据的字节数)
Cookie (很重要的一个Header,用来进行和Cookie有关的操作,详细的信息将在后面的教程中介绍)
Host (主机和端口)
If-Modified-Since (只返回比指定日期新的文档,如果没有,将会反回304 "Not Modified")
Referer (URL)
User-Agent (客户端的类型,一般用来区分不同的浏览器)
如果你想更多的了解Request Header的内容,你可以访问W3C的网站。

在Servlet中读取Request Header的内容

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)

在Servlet中读取Request Header的值是很简单的,只要调用HttpServletRequest的getHeader方法就可以了,当你指定要返回的Header的名称,该方法就会返回String类型的Header的内容,如果指定的Header不存在,就返回null。调用getHeaderNames可以返回包含所有Header名字的Enumeration.

读取所有Request Header值的Servlet程序

下面是Tomcat中所带的Servlet例子中关于Request Header的例子,下载该程序。

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class RequestHeaderExample extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = request.getHeader(name);
out.println(name + " = " + value);
}
}
}

展开更多 50%)
分享

猜你喜欢

在Servlet中使用请求头(Request Header)

Java JAVA基础
在Servlet中使用请求头(Request Header)

解决JSP中使用request乱码问题

Web开发
解决JSP中使用request乱码问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JSP中使用request乱码问题的解决

Web开发
JSP中使用request乱码问题的解决

在Java中使用枚举

编程语言 网络编程
在Java中使用枚举

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在IE中使用JavaScript

Web开发
在IE中使用JavaScript

在DLL中使用资源

编程语言 网络编程
在DLL中使用资源

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash教程 飞翔的文字

Flash教程 飞翔的文字

用于部署数据库的 数据库初始化工具 xzSQLDeploy Tools V1.0 (for SQLServer) from XiaoZhu.com

用于部署数据库的 数据库初始化工具 xzSQLDeploy Tools V1.0 (for SQLServer) from XiaoZhu.com
下拉加载更多内容 ↓