Request物件中getHeader、requestHeaders、request.getHeaderNames三者區別
阿新 • • 發佈:2018-12-11
1.request.getHeader("Accept-Encoding");//獲取單個請求頭name對應的value值
2.request.getHeaders("Accept-Encoding");//獲取多個同名請求頭對應的一組value值,因此返回列舉型別資料
3.request.getHeaderNames();//獲取請求頭的所有name值,返回的資料也是一個列舉型別的資料,將列舉中的元素依次遍歷出來,根據name獲取對應的value值,即可得到Http請求頭的所有資訊
示例程式碼如下:
package TwoDay.request; 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 RequestDemo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 獲取頭資訊 */ String headValue = request.getHeader("Accept-Encoding");//獲取單個請求頭name對應的value值 System.out.println(headValue); System.out.println("--------------"); Enumeration e = request.getHeaders("Accept-Encoding");//獲取多個同名請求頭對應的一組value值,因此返回列舉型別資料 /** * 將資料遍歷出來 */ while(e.hasMoreElements()){ //遍歷列舉中儲存的每一個元素 String value = (String)e.nextElement(); System.out.println(value);//將值輸出 } System.out.println("----------------"); /** * 獲取所有請求頭資訊 */ Enumeration er = request.getHeaderNames();//獲取請求頭的所有name值 while(er.hasMoreElements()){ String name =(String) er.nextElement(); String value = request.getHeader(name); System.out.println(name+"="+value); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
執行結果如下: