ServletRequest接口的getHeaderNames()方法返回一个Enumeration对象,此对象包含所有标头名称。 ServletRequest接口的getHeader()方法返回给定标头名称的标头值。在此示例中,我们演示如何在servlet页面中显示请求的所有标头信息。

getHeaderNames()方法的语法:

public Enumeration getHeaderNames()

getHeader()方法的语法:

public String getHeader(String headerName)

1. 在servlet中显示所有标头信息

在此示例中,我们调用ServletRequest接口的getHeaderNames()方法,该方法返回包含所有标头名称的Enumeration对象。 通过调用getHeader()方法来显示所有标头值。让我们来看一个例子:

启动Eclipse,创建一个动态web项目:ServletRequestDemo2,完整的项目结构如下所示:

Servlet类文件:ShowHeaders.java

package com.xntutor.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class ShowHeaders extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("HTTP headers sent by your client:<br>");

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

    }
}

静态文件:index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Servlet标头信息</title>
</head>
<body>
    <a href="showheaders">点击查看Servlet标头信息 </a>  
</body>
</html>

运行上面示例代码,得到以下结果:

结果

结果2