In this text I will try to give you an overview of Java servlets.
What is a Servlet?
A Java Servlet is a Java object that responds to HTTP requests. It runs inside a Servlet container. Here is an illustration of that:
|Servlets inside a Java Servlet Container|
A Servlet is part of a Java web application. A Servlet container may run multiple web applications at the same time, each having multiple servlets running inside. Here is an llustration of that:
|Web applications with multiple servlets inside a Java Servlet container|
A Java web application can contain other components than servlets. It can also contain Java Server Pages (JSP), Java Server Faces (JSF) and Web Services. This tutorial is about Java Servlets only, though.
HTTP Request and Response
The browser sends an HTTP request to the Java web server. The web server checks if the request is for a servlet.
If it is, the servlet container is passed the request. The servlet container will then find out which servlet the
request is for, and activate that servlet. The servlet is activated by calling the
Once the servlet has been activated via the
service() method, the servlet processes the request,
and generates a response. The response is then sent back to the browser.
Java servlet containers are usually running inside a Java web server. A few common well known, free Java web servers are: