Introduction to Servlet Request
True job of a Servlet is to handle client request. Servlet API provides two important interfaces javax.servlet.ServletRequest and javax.servlet.http.HttpServletRequest to encapsulate client request. Implementation of these interfaces provide important information about client request to a servlet.
Some Important Methods of ServletRequest
| Methods | Description |
|---|---|
Object getAttribute(String name) | return attribute set on request object by name |
Enumeration getAttributeName() | return an Enumeration containing the names of the attributes available inthis request |
int getContentLength() | return size of request body |
int getContentType() | return media type of request content |
ServletInputStream getInputStream() | returns a input stream for reading binary data |
String getParameter(String name) | returns value of parameter by name |
String getLocalAddr() | returns the Internet Protocol(IP) address of the interface on which the request was received |
Enumeration getParameterNames() | returns an enumeration of all parameter names |
String[] getParameterValues(String name) | returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist |
ServletContext getServletContext() | return the servlet context of current request. |
String getServerName() | returns the host name of the server to which the request was sent |
int getServerPort() | returns the port number to which the request was sent |
boolean isSecure() | returns a boolean indicating whether this request was made using a secure channel, such as HTTPS. |
void removeAttribute(String name) | removes an attribute from this request |
void setAttribute(String name, Object o) | stores an attribute in this request. |
HttpServletRequest interface
HttpServletRequest interface adds the methods that relates to the HTTP protocol.
Some important methods of HttpServletRequest
| Methods | Description |
|---|---|
String getContextPath() | returns the portion of the request URI that indicates the context of the request |
Cookies getCookies() | returns an array containing all of the Cookie objects the client sent with this request |
String getQueryString() | returns the query string that is contained in the request URL after the path |
HttpSession getSession() | returns the current HttpSession associated with this request or, if there is no current session and create is true, returns a new session |
String getMethod() | Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. |
Part getPart(String name) | gets the Part with the given name |
String getPathInfo() | returns any extra path information associated with the URL the client sent when it made this request. |
String getServletPath() | returns the part of this request's URL that calls the servlet |
Example demonstrating Servlet Request
In this example, we will show how a parameter is passed to a Servlet in a request object from HTML page.
index.html
<form method="post" action="check"> Name <input type="text" name="user" > <input type="submit" value="submit"> </form>
web.xml
<servlet>
<servlet-name>check</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>check</servlet-name>
<url-pattern>/check</url-pattern>
</servlet-mapping>
MyServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String user=request.getParameter("user");
out.println("<h2> Welcome "+user+"</h2>");
} finally {
out.close();
}
}
}
Output :
Introduction to Servlet Response
Servlet API provides two important interfaces ServletResponse and HttpServletResponse to assist in sending response to client.
Some Important Methods of ServletResponse
| Methods | Description |
|---|---|
PrintWriter getWriter() | returns a PrintWriter object that can send character text to the client. |
void setBufferSize(int size) | Sets the preferred buffer size for the body of the response |
void setContentLength(int len) | Sets the length of the content body in the response In HTTP servlets, this method sets the HTTP Content-Length header |
void setContentType(String type) | sets the content type of the response being sent to the client before sending the respond. |
void setBufferSize(int size) | sets the preferred buffer size for the body of the response. |
boolean isCommitted() | returns a boolean indicating if the response has been committed |
void setLocale(Locale loc) | sets the locale of the response, if the response has not been committed yet. |
HttpServletResponse Interface
HttpServletResponse interface adds the methods that relates to the HTTP response.
Some Important Methods of HttpServletResponse
| Methods | Description |
|---|---|
void addCookie(Cookie cookie) | adds the specified cookie to the response. |
void sendRedirect(String location) | Sends a temporary redirect response to the client using the specified redirect location URL and clears the buffer |
int getStatus() | gets the current status code of this response |
String getHeader(String name) | gets the value of the response header with the given name. |
void setHeader(String name, String value) | sets a response header with the given name and value |
void setStatus(int sc) | sets the status code for this response |
void sendError(int sc, String msg) | sends an error response to the client using the specified status and clears the buffer |