Servlet显示所有头信息

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

getHeaderNames()方法的语法

public Enumeration getHeaderNames()

getHeader()方法的语法

public String getHeader(String headerName)

在servlet中显示所有头信息的示例

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

打开Eclipse,创建一个动态Web项目:ShowHeaders,并在com.zaixian包下创建一个名称为:HeaderServlet.java的Servlet类以及在WebContent目录下创建一个HTML文件:index.html,如下所示 -

完整的代码实现如下所示 -

文件:index.html -

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ShowHeaders Servlet</title>
</head>
<body>
    <div style="text-align: center;">
        请<a href="/ShowHeaders/headers?key1=name">点击这里</a>查看所有报头信息
    </div>
</body>
</html>

文件:HeaderServlet.java -

package com.zaixian;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HeaderServlet
 */
public class HeaderServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

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

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

}

文件:web.xml -

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>ShowHeaders-HeaderServlet</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>HeaderServlet</servlet-name>
        <servlet-class>com.zaixian.HeaderServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HeaderServlet</servlet-name>
        <url-pattern>/headers</url-pattern>
    </servlet-mapping>
</web-app>

执行结果如下所示 -


上一篇: Servlet ServletRequest接口 下一篇: Servlet RequestDispatcher请求转发