Recipe 18.2 Examining HTTP Request Headers in a JSP


Problem

You want to use a JSP to display the request headers and values.

Solution

Use the c:forEach and c:out JSTL tags to view the header names and values.

Discussion

The JSTL v1.0 makes all existing request headers available via the header implicit object. The JSTL automatically makes this variable available to JSPs; the header object evaluates to a java.util.Map type.

In Example 18-2, the c:forEach tag iterates over this Map and stores each header name and value in the loop variable named by c:forEach 's var attribute (in Example 18-2 it's called req ). The c:forEach var attribute is implemented as a java.util.Map.Entry type, which is a data type that stores keys and their values. The c:out tag displays each header name by using EL format: ${req.key} . Consequently c:out displays the value with ${req.value} .

Example 18-2. Viewing the request header names and values in a JSP
  <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>  <html> <head><title>Request Headers</title></head> <body> <h2>Here are the Request Header names and values</h2>  <c:forEach var="req" items="${header}">     <strong><c:out value=         "${req.key}"/></strong>: <c:out value="${req.value}"/><br> </c:forEach>  </body> </html> 

Figure 18-2 shows the result in a browser of requesting the displayHeaders.jsp page.

Figure 18-2. A JSP page shows request headers using JSTL tags
figs/jsjc_1802.gif

See Also

Chapter 23 on using the JSTL; Recipe 18.2 on examining request headers in a servlet; Recipe 18.3 on using a filter to wrap the request and forward it along the filter chain; Recipe 18.6 on using a listener to track requests ; Chapter 7 on handling request parameters and JavaBean properties with servlets, JSPs, and filters.



Java Servlet & JSP Cookbook
Java Servlet & JSP Cookbook
ISBN: 0596005725
EAN: 2147483647
Year: 2004
Pages: 326

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net