可以使用 HttpServletRequest 的 getHeaderNames() 方法來讀取 HTTP 頭信息按摘。該方法返回了一個枚舉,包含與當前的 HTTP 請求相關(guān)的頭信息捌臊。
通過遍歷枚舉的方式可以獲取所有頭字段及相關(guān)值信息。
使用 hasMoreElements() 方法來確定何時停止循環(huán)翅楼,使用 nextElement() 方法來獲取每個參數(shù)的名稱映砖。
具體測試代碼如下:
package Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Httphead extends HttpServlet {
/**
* Constructor of the object.
*/
public Httphead() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()){
String name = (String) headerNames.nextElement();
String value = request.getHeader(name);
out.println("head信息如下:");
out.println("===========================");
out.println("zi duan ming:"+name+" "+"zhi "+value);
System.out.println("zi duan ming:"+name+" "+"zhi "+value);
}
}
/**
*獲取客戶端http頭信息測試代碼
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
}
}