如何使用JSP读取HTTP标头?

以下是使用HttpServletRequest的getHeaderNames()方法读取HTTP标头信息的示例。此方法返回一个Enumeration,其中包含与当前HTTP请求关联的标头信息。

一旦有了枚举,就可以以标准方式循环枚举。我们将使用hasMoreElements()方法来确定何时停止,并使用nextElement()方法来获取每个参数名称的名称。

<%@ page import = "java.io.*,java.util.*" %>

<html>
   <head>
      <title>HTTP Header Request Example</title>
   </head>
   <body>
      <center>
         <h2>HTTP Header Request Example</h2>
         <table width = "100%" border = "1" align = "center">
            <tr bgcolor = "#949494">
               <th>Header Name</th>
               <th>Header Value(s)</th>
            </tr>
            <%
               Enumeration headerNames = request.getHeaderNames();
               while(headerNames.hasMoreElements()) {
                  String paramName = (String)headerNames.nextElement();
                  out.print("<tr><td>" + paramName + "</td>\n");
                  String paramValue = request.getHeader(paramName);
                  out.println("<td> " + paramValue + "</td></tr>\n");
               }
            %>
         </table>
      </center>
   </body>
</html>

现在让我们将上面的代码放在main.jsp中,然后尝试访问它。

HTTP标头请求示例

标头名称标头值
接受* / *
接受语言我们
用户代理Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1; Trident / 4.0; InfoPath.2; MS-RTC LM 8)
接受编码gzip,放气
主办本地主机:8080
连接活着
缓存控制无缓存