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>
执行结果如下所示 -