Request Headers
Home ] Up ] HTTP ] A Simple Java Web Server ] CGI ] Java Servlets ] Apache Tomcat ] Tomcat Directory Structure ] Creating a Web Application ] Web Application Directory Structure ] What's a Servlet? ] Generating Other Content ] The Servlet Life Cycle ] Servlets & Form Data ] [ Request Headers ] CGI Variables ] Redirection ]

 

 

You can obtain access to request headers from within a servlet:

/*
 * DisplayRequestHeaders.java
 *
 * Created on November 24, 2006, 8:26 PM
 */

package requestHeaderExamples;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Displays HTTP Request Headers.
 *
 * @author Bryan Higgs
 * @version
 */
public class DisplayRequestHeaders extends HttpServlet
{
  
  /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
   * @param request servlet request
   * @param response servlet response
   */
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String docType = "<!DOCTYE html PUBLIC \"-//w3c//DTD XHTML 1.0 Strict//EN\"" + 
	             "         \"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet DisplayRequestHeaders</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h2>Servlet DisplayRequestHeaders at " + request.getContextPath () + "</h2>");
        out.println("<h3>Request Method: " + request.getMethod() + "</h3>");
        out.println("<h3>Request URI: " + request.getRequestURI() + "</h3>");
        out.println("<h3>Request Protocol: " + request.getProtocol() + "</h3>");
        out.println("<table border=\"1\">");
        out.println(" <tr bgcolor=\"beige\">");
        out.println("  <th>Name</th><th>Value</th>");
        out.println(" </tr>");
    
    Enumeration headerNames = request.getHeaderNames();
    while ( headerNames.hasMoreElements() )
    {
      String headerName = (String)headerNames.nextElement();
        out.println(" <tr><td>" + headerName + "</td>");
        out.println("     <td>" + request.getHeader(headerName) + "</td>");
        out.println(" </tr>");
    }
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
    out.close();
  }
  
  /** 
   * Handles the HTTP <code>GET</code> method.
   * @param request servlet request
   * @param response servlet response
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    processRequest(request, response);
  }
  
  /** 
   * Handles the HTTP <code>POST</code> method.
   * @param request servlet request
   * @param response servlet response
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    processRequest(request, response);
  }
  
  /** 
   * Returns a short description of the servlet.
   */
  public String getServletInfo()
  {
    return "Shows request headers";
  }
}

Here's what this servlet displays:

 
The page was last updated February 19, 2008