Home > Software Development > How to Print out Http Request Headers in Java Servlet

How to Print out Http Request Headers in Java Servlet

August 25th, 2015 Leave a comment Go to comments

While developing a new project, I need to check a request header from client side AJAX call in Javascript. This is not a difficult problem at all, but I found it’s pretty helpful with the headers printed in the log file, especially while debugging. The following code snippet iterates through all the headers and add their values into the string buffer, and further into logger of the Servlet. Notice that the value of a header is not a primitive value, therefore the inner loop is needed to go over each element.

Feel free to use the following code when in need. Instead of feed the string buffer into logger, you can also send it back to the browser, which makes it more convenient to read.

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

    StringBuffer sb = new StringBuffer();
    Enumeration<String> hns = req.getHeaderNames();
    while(hns.hasMoreElements())
    {
      String header = hns.nextElement();
      sb.append(header + ":");
      Enumeration<String> hvs = req.getHeaders(header);
      while(hvs.hasMoreElements())
      {
        sb.append(hvs.nextElement() + ", ");
      }
      sb.append("\n");
    }
 
    servletCtx.log("req headers:" + sb.toString());
Categories: Software Development Tags: , ,
  1. December 6th, 2015 at 09:07 | #1

    I have almost similar site like this. I also work on software development but in this post I found very useful information which helped me to improve my knowledge about this.

  1. No trackbacks yet.