Home Servlets Header Information available from the client in Servlet



Header Information available from the client in Servlet
Posted on: August 20, 2008 at 12:00 AM
In this section you will studied how to display the header information in servlet.

Header Information available from the client in Servlet

     

In this section you will studied how to display the header information in servlet.

When a HTTP client sends a request, generally GET or POST method is specified. It can send a number of headers. Here are some headers:

Accept - MIME type, the browser prefers.
Accept-Charset - The Character set the browser expects.
Accept-Language - The language which the browser is accepting.
Connection - If a servlet gets a keep-Alive value or gets a request line indicating HTTP 1.1, it may be able to take advantage of connection.
Host (host and port as defined in url).
Content-Length (for POST messages).
User-Agent (type of browser, if servlet is returning browser-specific content).

In the given example, method getHeaderNames() is called  to get an Enumeration of all header names received on this particular request. The getMethod() returns the main request method (GET or POST, but HEAD, PUT, DELETE are also possible). The getRequestURI() method returns the URI (the part of url that came after the host and port , but before the form data). The getRequestProtocol() returns the protocol which is generally  HTTP/1.0 or HTTP/1.1. Using while loop, all the headers are passed into the header. Now if header is not equal to null, all the header information will be displayed by using the method req.getHeader().

Here is the code of HeaderInformation.java

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;

public class HeaderInformation extends HttpServlet {
  
  public void doGet(HttpServletRequest req, HttpServletResponse res)
  throws IOException, ServletException {
  printHeader(req, res);
  }
  public void doPost(HttpServletRequest req, HttpServletResponse res)
  throws IOException, ServletException {
  printHeader(req, res);
  }
  public void printHeader(HttpServletRequest req,
  HttpServletResponse res) throws IOException, ServletException {
  String header = null;
  String head = "<html><head><title> Header Information</title>
  </head><body>"
;
  String foot = "</body></html>";
  res.setContentType("text/html");
  PrintWriter pw = res.getWriter();
  Enumeration enumeration = req.getHeaderNames();
  pw.println(head);
  pw.println("<h2> Header Information </h2>");
  pw.println("<B>Request Method: </B>" +
  req.getMethod() + "<BR>\n" +
  "<B>Request URI: </B>" +
  req.getRequestURI() + "<BR>\n" +
  "<B>Request Protocol: </B>" +
  req.getProtocol() + "<BR><BR>\n" );

  pw.println("<table>");
  while (enumeration.hasMoreElements()) {
  header = (String) enumeration.nextElement();
  if (header != null) {
  pw.println("<tr><td><b>" + header + "</td>");
  pw.println("<td >" + req.getHeader(header)
  "</td></tr>");
  }
  }
  pw.println("</table><br>");
  pw.println(foot);

  }
}

After compiling the servlet, place it to the appropriate place in the Tomcat. Run the tomcat. Open the browser and type the url http://localhost:8080/Myexamples/HeaderInformation

 Following output will be displayed.

Download Source Code

Related Tags for Header Information available from the client in Servlet:
chttppostheaderclientgeneralmethodgetrequestheadersnumbercliifiesendposcieitcanlipemheadntoscaosadclesspecendallmewhensspquestislleattssthstendsendsrallyndo


More Tutorials from this section

Ask Questions?    Discuss: Header Information available from the client in Servlet  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.