O'Reilly logo

Java Servlet & JSP Cookbook by Bruce W. Perry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

A JSP page shows request headers using JSTL tags

Figure 18-2. A JSP page shows request headers using JSTL tags

See ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required