ServletRequest获取所有请求头

1 获取请求头的方法

ServletRequest接口的getHeaderNames()返回一个Enumeration对象,其中包含所有请求头名称。ServletRequest接口的getHeader()方法返回给定请求头名称的对应的值。在本文后面的示例中,我们在Servlet中获取所有请求头信息。

1.1 getHeaderNames()方法

public Enumeration getHeaderNames()  

1.2 getHeader()方法

public String getHeader(String headerName)  

2 获取请求头的示例

2.1 编写页面

index.jsp页面,代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>一点教程网-获取所有请求头</title>
  </head>
  <body>
  <a href="header">点击这里</a>
  </body>
</html>

2.2 编写HeaderServlet

编写HeaderServlet,代码如下:

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

/**
 * 一点教程网 - http://www.yiidian.com
 * 获取所有请求头
 */
public class HeaderServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out = resp.getWriter();

        out.println("所有请求头信息:<br>");

        Enumeration en = req.getHeaderNames();
        while (en.hasMoreElements()) {
            String headerName = (String)en.nextElement();
            String headerValue = req.getHeader(headerName);
            out.print("<b>"+headerName + "</b>: ");
            out.println(headerValue + "<br>");
        }
    }
}

2.3 运行测试

点击链接,显示效果如下:

热门文章

优秀文章