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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.