A Java servlet is a Java software component that extends the capabilities of a server. Although servlets can respond to any types of requests they most commonly implement web containers for hosting web applications on web servers and thus qualify as a server-side servlet web API. Such web servlets are the Java counterpart to other dynamic web content technologies such as PHP and ASP.NET.
A Java servlet processes or stores a Java class in Java EE that conforms to the Java Servlet API, a standard for implementing Java classes that respond to requests. Servlets could in principle communicate over any client–server protocol, but they are most often used with the HTTP. Thus “servlet” is often used as shorthand for “HTTP servlet”. Thus, a software developer may use a servlet to add dynamic content to a web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML and more commonly, JSON. Servlets can maintain state in session variables across many server transactions by using HTTP cookies, or URL mapping.
The Java servlet API has, to some extent, been superseded by two standard Java technologies for web services:
- JAX-RS the Java API for RESTful Web Services useful for AJAX, JSON and REST services, and
- JAX-WS the Java API for XML Web Services useful for SOAP Web Services.
To deploy and run a servlet, a web container must be used. A web container (also known as a servlet container) is essentially the component of a web server that interacts with the servlets. The web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights.
The Servlet API, contained in the Java package hierarchy
javax.servlet, defines the expected interactions of the web container and a servlet.
Servlet is an object that receives a request and generates a response based on that request. The basic Servlet package defines Java objects to represent servlet requests and responses, as well as objects to reflect the servlet’s configuration parameters and execution environment. The package
javax.servlet.http defines HTTP-specific sub-classes of the generic servlet elements, including session management objects that track multiple requests and responses between the web server and a client. Servlets may be packaged in a WAR file as a web application.
Servlets can be generated automatically from JavaServer Pages (JSP) by the JavaServer Pages compiler. The difference between servlets and JSP is that servlets typically embed HTML inside Java code, while JSPs embed Java code in HTML. While the direct usage of servlets to generate HTML (as shown in the example below) has become rare, the higher level MVC web framework in Java EE (JSF) still explicitly uses the servlet technology for the low level request/response handling via the
FacesServlet. A somewhat older usage is to use servlets in conjunction with JSPs in a pattern called “Model 2”, which is a flavor of the model–view–controller.
If you wish to build up your Java Servlet knowledge first, check out our Java Servlet Tutorial – The ULTIMATE Guide.
Java Servlet Tutorials – Getting Started
Simple examples based on the Java Servlet
- Sample Java Servlet
In this example we are going to see how to create a simple Java Servlet.
- Basics of Servlets Tutorial
In this article we will cover the basics of Servlets using Java 8, in a servlet 3.1 compliant container.
- Java Servlet Hello World Example
In this example we explore three of the HTTP methods that Servlets API use to receive the requests: get, post and service.
- Java Servlet XAMPP Tutorial
In this article we will briefly discuss what Xampp is and how to “run” a Java Servlet application from it using linux.
- Java Servlet Websocket Example
In this article we illustrate a simple chat program using a Websocket endpoint.
- Java Servlet Life Cycle Example 1
In this example we will explain the Servlet Lifecycle.
- Java Servlet Life Cycle Example 2
In this example we will show you how it all works out in the servlet container.
- Java Servlet and JSP Example
In this article we will demonstrate a simple Servlet and JSP example using the maven cargo plugin from the command line.
- Java Servlet Container Example
In this article we will demonstrate deploying and running a simple web application via a servlet container.
- Java Servlet File Download and File Upload Example
In this tutorial we will show you how to set up the File Upload and Download functionality in a Servlet based Java web application.
- Java Servlet Security Example
In this tutorial we will see how to configure the Basic Authentication in the servlets.
- Java Servlet Session Timeout Configuration Example
In this tutorial we will show you how to set up the Session Timeout in a Servlet based web application.
- Java Servlet Exception Handling Example
In this tutorial we will see how to tackle these exception handling in the Servlet.
- Java Servlet Session Management Example
In this tutorial we will see how to achieve the Session Management in Servlet Java programming.
- Java Servlet Database Connectivity Example
In this tutorial we will explain and show you how to connect the servlet to the database.
- Java Servlet Bean Example
In this tutorial we will explain how to handle the JavaBean in a Servlet.
- Java Servlet Hidden Field Example
In this tutorial we will explain and show you how to handle the hidden fields in a Servlet.
- Java Servlet Sync Context Example
In this tutorial we will understand what Async Servlet is.
- Java Servlet Annotations Example
In this tutorial we will see how the Servlet annotations can replace the equivalent XML configuration in the web deployment descriptor file (web.xml).
- Java Servlet Filter Example
In this tutorial we will explain how to implement the Servlet Filter API to handle the client requests.
- Java Servlet Application for Login Page
In this tutorial we will explain how to handle the Servlet HTTP POST Request parameters.
- Java Servlet Generate Zip File Example
In this article we illustrate how to generate a zip (compressed) file via a GET request to a custom servlet.
- Java Servlet File Upload Example
In this example we will see how to use servlet to upload a file. We will be just uploading the file to a server folder.
- Java Servlet Authentication Example
In this example we will explain how to perform authentication using a servlet running on WildFly application server and Eclipse.
Java Servlet Tutorials – Functions
Learn the most famous functionalities and operations of the Java Servlet
- Java Servlet HTTP Response Headers Example
In this tutorial we will explain and show you how to use the HTTP response headers in the Servlet page.
- Java Servlet HTTP Request Headers Example
In this tutorial we will explain and show you how to display the HTTP header information of a request in the Servlet page.
- Java Servlet Url Parameters Example
In this tutorial we will explain how to handle parameters of the Servlet HTTP Request.
- Java Servlet Set/Get Example
In this example we will talk about the Java Servlet Set/Get variables.
- Get client’s address and hostname in Servlet
In this example we are going to see how to get client’s address and hostname in a Servlet.
- Get all Init Parameters in Servlet
In tutorial we will show you how to get all Init Parameters in Servlet.
- Get/Set init Parameters in Servlet
In this example we are going to see how to get/set init parameters in a Servelt.
- Get all Request Parameters in Servlet
In this tutorial we will show you how to get all requests parameters in a Java Servlet.
- Get Request Parameter in Servlet
In this tutorial we will show you how to get request parameter in a Java Servlet.
- Get all Request Headers in Servlet
In this example we will show you how to get all the Request Headers in a Servlet.
- Get Request Header in Servlet
In this example we will show you how to get Request Headers in a Servlet.
- Java Servlet Cookie Methods Example
In this tutorial we will show you how to store the user information in the cookie object and access it in the Servlet.
- Java Servlet onclick Example
In this tutorial we will explain and show you how to call a Servlet method on a button click.
- Java Servlet AsyncListener Example
In this section you will learn about registering AsyncListener with the recently created AsyncContext with an example.
- Java Servlet SendRedirect Example
In this example we are validating the login credentials entered by the user.
- Java Servlet RequestDispatcher Tutorial
In this tutorial we will see how the javax.servlet.RequestDispatcher interface is used to forward or include the response of a resource in a Servlet.
- Java Servlet Context Listener Example
In this tutorial we will be demonstrating a simple example of how to use ServletContextListener to make some global initializations and configurations.
- Java Servlet ServletConfig vs ServletContext Example
In this tutorial we will see how the ServletContext and ServletConfig are different from each other.