Als Jakarta Servlet (früher Java Servlet) bezeichnet man Java-Klassen, deren Instanzen innerhalb eines Webservers Anfragen von Clients entgegennehmen und beantworten. Der Inhalt der Antworten kann dabei dynamisch, also im Moment der Anfrage, erstellt werden und muss nicht bereits statisch (etwa in Form einer HTML-Seite) für den Webserver verfügbar sein. Servlets stellen eine Weiterentwicklung der ursprünglich im Web-Bereich verwendeten Schnittstelle CGI oder anderer Konzeptionen dar. Java-Webanwendungen nutzen hauptsächlich Servlets, während die klassische Erzeugung dynamischer Web-Inhalte über CGI zum Beispiel mittels PHP, Ruby on Rails, Active Server Pages oder Perl erfolgt.
Die Servlet-Spezifikation ist Teil der Jakarta-EE-Technologie. Servlet-Container sind damit fester Bestandteil aller Jakarta-EE-Anwendungsserver. Jedoch ist ein Servlet-Container nicht immer eine vollständige Jakarta-EE-Implementierung. Es gibt unabhängig davon Webserver, die einen Servlet-Container enthalten (z. B. Apache Tomcat, Jetty).