top of page

Print request and response headers using HttpServletRequest and HTTPServletResponse

Often in JAVA we need to troubleshoot the incoming requests, outgoing requests , incoming responses and outgoing responses. This is a typical situation for cloud native developments where an application or micro service is developed. One of the main troubleshooting steps is to print the request and response headers. Today I am going to show how to print those request and response headers for a JAVA application.


 

Contents

 

Printing request headers using HttpServletRequest object

After you have received a request you can use this method to print all headers.

public void printRequestHeaders(HttpServletRequest req) {
  Enumeration names = req.getHeaderNames();
  if(names == null) {
    return;
  }
    while(names.hasMoreElements()) {
      String name = (String) names.nextElement();
       Enumeration values = req.getHerders(name);
       if(values != null) {
         while(values.hasMoreElements()) {
             String value = (String) values.nextElement();
             System.out.println(name + " : " + value );
         }
       }
    }
}

Printing response headers using HttpServletResponse object

After you have populated all headers in response object and populated response body you can print

public void printResponseHeaders(HttpServletResponse req) {
  Collection<String> names = res.getHeaderNames();
  if(names == null) {
    return;
  }
  Iterator namesIterator = names.iterator();
  while(namesIterator.hasNext()) {
   String name = (String)  namesIterator.next();
    Collection<String> values = res.getHeaders(name);
    if(values != null) {
       Iterator valuesIterator = values.iterator();
       while(valuesIterator.hasNext()) {
            String value = (String) valuesIterator.next();
            System.out.println(name + " : " + value );         
       }
    }
  }
}

This brief post shows how we can print request and response headers in JAVA.


Recent Posts

See All
bottom of page