This example demonstrates how to get the value of a request header in either a GET or POST request.
// See also e1035 The Quintessential Servlet
// This method is called by the servlet container to process a GET request.
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
doGetOrPost(req, resp);
}
// This method is called by the servlet container to process a POST request.
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
doGetOrPost(req, resp);
}
// This method handles both GET and POST requests.
private void doGetOrPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
PrintWriter out = resp.getWriter();
resp.setContentType("text/plain");
// Get the value of a request header; the name is case-insensitive
String name = "user-agent";
String value = req.getHeader(name);
if (value == null) {
// The request header was not present
}
// Get all request headers
Enumeration enum = req.getHeaderNames();
for (; enum.hasMoreElements(); ) {
// Get the name of the request header
name = (String)enum.nextElement();
out.println(name);
// Get a value of the request header
value = req.getHeader(name);
// If the request header can appear more than once, get all values
Enumeration valuesEnum = req.getHeaders(name);
for (; valuesEnum.hasMoreElements(); ) {
// Get a value of the request header
value = (String)valuesEnum.nextElement();
out.println(" "+value);
}
}
out.close();
}