A servlet is a Java program that runs on a Web server. It is similar to an applet, but is processed on the server rather than a client's machine. Servlets are often run when the user clicks a link, submits a form, or performs another type of action on a website.

Both servlets and JSP pages contain Java code that is processed by a Web server. However, servlets are primarily Java programs, while JSP pages are primarily HTML files. In other words, a servlet is a Java program that may contain HTML, while a JSP page is an HTML file that may contain Java code. Additionally, servlets require a specific structure and must contain the following three methods:

  1. init()
  2. service()
  3. destroy()

The init() method initializes the servlet, allocates memory for the process, and passes any input parameters to the servlet. The service() method, which may also be specified as the doGet(), doPost(), doPut(), or doDelete() method, processes the HTTP request and typically provides a response that is sent to the client's browser. The destroy method may save data to a log file and frees up resources that were used by the servlet.

Servlets are one of many options Web developers can use to create dynamic websites and process data entered by website visitors. Since they are written in Java, servlets provide an easy way for programmers who are already familiar with the Java programming language to create Web applications.

Updated October 20, 2012 by Per C.

quizTest Your Knowledge

Why has the Telnet protocol mostly been replaced by the SSH protocol?

SSH uses less data than Telnet
SSH is more secure than Telnet
SSH is faster than Telnet
SSH supports more languages than Telnet
Correct! Incorrect!     View the Telnet definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Servlet on this page is an original definition written by the team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.