程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 淺談Servlet讀取請求頭

淺談Servlet讀取請求頭

編輯:關於JSP

在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方法返回URIURI是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容器

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved