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
- Create a Java with Maven -> Web application project
- Give Project Name
- Create package
com.ebhor.servletheaderes - Create a Servlet with name
Header.java - Build and run the project
Creating a project

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.

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.

First, a host request header is read by its value.
consequently, all request headers are read with values.

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 Sr No Header Name Header Value headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); String headerValue = request.getHeader(headerName); %> <% } %> <%=i++%> <%=headerName%> <%=headerValue%>