Chapter 18. Working With the Client Request

Introduction

A number of web applications must examine the client request before sending a response. An example is a servlet that has to read (or sniff) the browser type (often through the User-Agent header). Servlets or other web components read information about the request by examining HTTP request headers . These headers are composed of header names followed by colon characters and their values, such as Accept-Language: en. The headers precede any message body that the client is sending to the server, such as text that has been posted from an HTML form.

Here is an example of a group of request headers sent with a request for a JSP named contextBind.jsp:

GET /home/contextBind.jsp HTTP/1.1
User-Agent: Opera/5.02 (Windows NT 4.0; U)  [en]
Host: localhost:9000
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
Accept-Language: en
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: mycookie=1051567248639; JSESSIONID=1D51575F3F0B17D26537338B5A29DB1D
Connection: Keep-Alive

The recipes in this chapter show how to examine request headers with servlet and JSPs, use filters to alter requests, automatically refresh servlets and JSPs, and count the number of application requests.

18.1. Examining HTTP Request Headers in a Servlet

Problem

You want to examine the HTTP request headers in a servlet.

Solution

Use the javax.servlet.http.HttpServletRequest.getHeaderNames( ) and getHeader( ) methods to access the names and ...

Get Java Servlet & JSP Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.