Showing all request header in servlet

This tutorial will find the read request header name and values in the servlet.

There are many requests headers present like:

host, connection, user-agent, cookie, etc.

In the below project, we read the request project header names and values.

Technology User

apache-tomcat-9.0.71
javaee-web-api 7.0

Java 1.8

Steps to develop this project

  1. Create a Java with Maven -> Web application project
  2. Give Project Name
  3. Create package com.ebhor.servletheaderes
  4. Create a Servlet with name Header.java
  5. Build and run the project

Creating a project

Java and Maven project creation

Assign project name ServletHeader

Project Explorer

Following is the project explorer window for this project.

Inside the source package, all packages and files are kept.

Web Pages are used to store jsp and other files

pom.xml is available in Project Files.

1328_project_explorer
Servlet Header Request page-index.jsp



    
        Index Page
        
    
    
        

Servlet Header Example

Get Headers

Servlet header processing -Header.java

On clicking on the header URL it will call header.java servlet.

This will be called by HTTP get request and doGet() method of servlet is get called.

To access all header information request.getHeaderNames() method is used.

This method will return the Enumeration of all header names.

By iterating header enumeration we can get the values of each header.

Here a single request header host is also read in the program, then after all request headers are read.

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "Header", urlPatterns = {"/header"})
public class Header extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String hostValue = request.getHeader("host");
        out.println("

Printing a single header

"); out.println("Header name host value " + hostValue + ""); Enumeration headerNames = request.getHeaderNames(); out.println("

Printing all headers

"); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); String headerValue = request.getHeader(headerName); out.println("Header name " + headerName + " value " + headerValue + "
"); } } }

Project Configuration file -pom.xml

This is a Maven configuration file used to configure dependencies and used to build projects.



    4.0.0
    com.ebhor
    ServletHeaders
    1.0-SNAPSHOT
    war
    ServletHeaders
    
        ${project.build.directory}/endorsed
        UTF-8
    
    
    
        
            javax
            javaee-web-api
            7.0
            provided
        
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    1.7
                    1.7
                    
                        ${endorsed.dir}
                    
                
            
            
                org.apache.maven.plugins
                maven-war-plugin
                2.3
                
                    false
                
            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                2.6
                
                    
                        validate
                        
                            copy
                        
                        
                            ${endorsed.dir}
                            true
                            
                                
                                    javax
                                    javaee-endorsed-api
                                    7.0
                                    jar
                                
                            
                        
                    
                
            
        
    

Result

Index page requesting to get all request header.

Servlet Header Request

First, a host request header is read by its value.

consequently, all request headers are read with values.

Reading all Servlet request Headers

Showing all request headers in servlet

for this we have created a JSP file that is not shown in the above project explorer.

You can use any jsp page for this.

code is as below

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="utf-8"%>



Servlet Request Headers






	

Printing All Request Header

<% int i = 1; Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); String headerValue = request.getHeader(headerName); %> <% } %>
Sr No Header Name Header Value
<%=i++%> <%=headerName%> <%=headerValue%>

Result

Showing all request headers in servlet

Read More

Sending data to servlet using http get method
Submitting data to servlet using http post
Getting parameter values in Servlet getParameterNames
Servlet Annotation WebServlet Example
Servlet url and class mapping using web.xml
Employee Management System Project JSP Servlet