What is Java Servlet?
A Java Servlet is a server-side Java program that handles client requests and generates dynamic web content. It runs on a servlet container (like Tomcat), processes HTTP requests, interacts with databases or other resources, and sends responses back to the client, typically in HTML format
How Java Servlet Works?
Java Servlets work by handling client requests (typically from a web browser), processing them on the server, and sending back dynamic responses. They run on a web server or application server, utilizing the HTTP protocol, and are managed by the servlet container, which handles lifecycle methods like init()
, service()
, and destroy()
.
Features of Java Servlet
There are 5 Features of Servlet are as Follow:
Portable: Servlet uses Java Programming language, and as we know java is portable language, so servlet is also portable.
Efficient: Servlets invocation is highly skilled as compared to any CGI programs.
Robust: JVM manages Servlet. That’s why Servlet is robust.
Performance: Servlet creates a thread for each request, so the performance of servlet is better than CGI.
Secure: Because it uses java language, so servlet is safe.
How Servlet Works?
Whenever a request comes, it received by the servlet, and then they forward the request to the web container. A Web container is responsible for handling the request by creating the new thread. Container creates multiple threads to execute various requests.
Let’s understand the working of Servlet –
1. The User sends a request by clicking a link for a servlet.
2. Then, the container finds the servlet and Create two instances.
a.HttpServletRequest
b.HttpServletResponse
3. After this, the container creates a thread for executing the request. So they call the servlet’s service() method and passes the instances as arguments.
4.Based on the HTTPRequest method sent by client, service( ) method decides which servlet method, doGet() or doPost() to call.
5. Then, to respond to the client, servlet uses response instance to write the response.
6.After the service( ) method is completed, container call the destroy( ) method. And the request and response instance are prepared for garbage collection.
Servlet API
there are 2 packages of java servlet API are as follow:
1.javax.servlet
This package contains several classes and interfaces that describe and define bonds between a class and environment for an object.
Interface: -
ServletResponse
ServletRequest
RequestDispatcher
ServletConfig
Servlet
Class: -
GenericServlet
ServletRequestWrapper
ServletResponseWrapper
ServletInputStream
ServletOutputStream
Exception
ServletException
UnavailableException
2.javax.servlet.http
This package contains several classes and interfaces that describe and define bonds between a servlet class running under HTTP protocol and environment for an object.
Interface:-
HttpServletRequest
HttpServletResponse
HttpSession
HttpSessionContext
HttpSessionListener
Class: -
Cookie
HttpServlet
HttpServletRequestWrapper
HttpServletResponseWrapper
HttpSessionEvent