HttpServletRequest

HttpServletRequest interface extends the ServletRequest interface.

HttpServletRequest breaks the complete request in below part:

  • Request URI
  • Parameters
  • Attributes
  • ServletInputStream

requestURI

The requestURI comes out of request URL as shown below:

For example:

Below is the sample HTTP servlet URL

http://localhost:8080/Myproject/address/info/top.html?studentId=1

In HTTP servlet we get parse below info from HttpServletRequest

String uri = request.getRequestURI();
String contextPath = request.getContextPath();
String servletPath = request.getServletPath();
String pathInfo = request.getPathInfo();
String queryStr = request.getQueryString();

OUTPUT:

GetRequestURI → /Myproject/address/info/top.html

GetContextPath → /Myproject

GetServletPath → /address

GetPathInfo → /info/top.html

GetQueryString → info=intro

Parameter:

HttpsServletRequest provides methods to access request parameter (or query String).

Below are list of methods:

getParameter(String parameterName) → This method help us to get request parameter(or query string) value.

request.getParameter(“studentId”)

OUTPUT: 1

getParameterNames() → This method help us to get all request parameter(or query string) Names.

String[] paramNames = request.getParameterNames();

OUTPUT: [“studentId”]

getParameterValues() → This method help us to get all request parameter(or query string) values.

String[] paramValues = request.getParameterValues();

OUTPUT: [“1”]

getHeader() → The HttpServletRequest object also contains request headers as a key and value pairs. Request header contains information related to referrer, content type, content length, etc.

Below is the code snippet to collect header in Servlet class.

String contentType = request.getHeader(“Content-Type”);

OUTPUT: application/json

getSession() → This method returns the current session associated with the request.

getSession(true) →It will create brand new session if not session exist.

getSession(false) →This method will return null if no session exist.

Syntax:
HttpSession session = request.getSession();

session.setAttribute(“studentId”, request.getParameter(“studentId”));

InputStream

getInputStream() → HTTP POST request allows us to send huge data to server as part of request body. HTTP POST request data can be collect as part of InputStream as shown below:

Syntax:

InputStream requestBodyInput = request.getInputStream();

Imran Khan, Adobe Community Advisor, AEM certified developer and Java Geek, is an experienced AEM developer with over 11 years of expertise in designing and implementing robust web applications. He leverages Adobe Experience Manager, Analytics, and Target to create dynamic digital experiences. Imran possesses extensive expertise in J2EE, Sightly, Struts 2.0, Spring, Hibernate, JPA, React, HTML, jQuery, and JavaScript.

0