Knowledgebase: Java/JSP Hosting Plans
Getting a Request Header in a Servlet
Posted by Customer Service on 25 May 2005 12:48 AM
This example demonstrates how to get the value of a request header in either a GET or POST request.
    // 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();
}
(535 vote(s))
Helpful
Not helpful

Comments (0)