浅谈Servlet读取请求头
创始人
2024-04-13 15:51:41
0

在Servlet读取请求头

在Servlet读取HTTP头是非常方便的,只需要调用一下HttpServletRequest 的getHeader方法即可。如果客户请求中提供了指定的头信息,getHeader返回对应的字符串;否则,返回null。部分头信息经常要用到,它们有专用的访问方法:getCookies方法返回Cookie头的内容,经解析后存放在Cookie对象的数组中,请参见后面有关Cookie章节的讨论;getAuthType和getRemoteUser方法分别读取Authorization头中的一部分内容;getDateHeader和 getIntHeader方法读取指定的头,然后返回日期值或整数值。

除了Servlet读取指定的头之外,利用getHeaderNames还可以得到请求中所有头名字的一个Enumeration对象。

***,除了查看请求头信息之外,我们还可以从请求主命令行获得一些信息。getMethod方法返回请求方法,请求方法通常是GET或者POST,但也有可能是HEAD、PUT或者DELETE。getRequestURI方法返回URI(URI是URL的从主机和端口之后到表单数据之前的那一部分)。getRequestProtocol返回请求命令的第三部分,一般是“HTTP/1.0”或者“HTTP/1.1”。

实例:输出所有的请求头

下面的Servlet实例把所有接收到的请求头和它的值以表格的形式输出。另外,该Servlet还会输出主请求命令的三个部分:请求方法,URI,协议/版本。

  1. package hall;  
  2.  
  3. import java.io.*;  
  4. import javax.servlet.*;  
  5. import javax.servlet.http.*;  
  6. import java.util.*;  
  7.  
  8. public class ShowRequestHeaders extends HttpServlet {  
  9. public void doGet(HttpServletRequest request,  
  10. HttpServletResponse response)  
  11. throws ServletException, IOException {  
  12. response.setContentType("text/html");  
  13. PrintWriter out = response.getWriter();  
  14. String title = "显示所有请求头";  
  15. out.println(ServletUtilities.headWithTitle(title) +  
  16. "\n" +  
  17. "  
  18. " + title + "  
  19. \n" +  
  20. "Request Method: " +  
  21. request.getMethod() + "  
  22. \n" +"Request URI: " +  
  23. request.getRequestURI() + "  
  24. \n" +"Request Protocol: " +  
  25. request.getProtocol() + "  
  26. public void doPost(HttpServletRequest request,  
  27. HttpServletResponse response)  
  28. throws ServletException, IOException {  
  29. doGet(request, response);  
  30. }  

【编辑推荐】

  1. 介绍Servlet 2.4版功能
  2. 多种Servlet接口介绍
  3. 接口介绍-Servlet Context
  4. Servlet的注册方法
  5. 介绍Servlet容器

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...