Servlet in Java
- Was ist Servlet?
- Vorteile der Verwendung von Servlet
- So erstellen Sie ein Servlet in Java
- Wichtige Pakete für Servlet
- Servlet-Klassen
- Servlet-Schnittstellen
In diesem Tutorial wird eingeführt, was ein Servlet ist und wie Sie ein Servlet in Java erstellen.
Was ist Servlet?
Servlet ist eine serverseitige Technologie, die zum Erstellen von Webanwendungen in Java verwendet wird. Es erstellt dynamische Webanwendungen und stellt eine API zur Verfügung, die aus mehreren Klassen und Schnittstellen besteht, um die Anwendung zu verwalten.
Vorteile der Verwendung von Servlet
Vor dem Servlet wurde ein CGI-Programm (Common Gateway Interface
) verwendet, um serverseitige Programme zu erstellen, die mehrere Leistungsprobleme aufwiesen. Servlet hat den Vorteil gegenüber CGI und bietet die folgenden Vorteile:
- Höhere Performance durch Multithreading-Konzept
- Keine Plattformabhängigkeit
- Tragbar
- Sicher und sicher durch Java-Byte-Code.
So erstellen Sie ein Servlet in Java
Es gibt mehrere Möglichkeiten, eine Servlet-Anwendung zu erstellen, z. B. die Verwendung einer der folgenden Klassen oder Schnittstellen:
- Implementieren Sie die
Servlet
-Schnittstelle - Klasse
GenericServlet
erben HttpServlet
- Klasse erben
Dies sind einige Klassen und Schnittstellen, die verwendet werden, um eine Servlet-Anwendung zu erstellen. Sie enthalten Methoden wie doPost()
und doGet()
, um HTTP-Anfragen zu verarbeiten.
Eine Servlet-Anwendung folgt einer bestimmten Verzeichnis-/Projektstruktur und besteht aus einigen erforderlichen Schritten wie:
- Erstellen Sie ein Servlet
- Erstellen Sie einen Bereitstellungsdeskriptor
- Bereitstellen einer Servlet-Anwendung auf einem Server (Apache Tomcat).
Wie bereits erwähnt, müssen wir zum Erstellen eines Servlets die Klasse HttpServlet
erweitern und ihre Methoden überschreiben. Hier verwenden wir die Methode doGet()
, um die Get-Anfragen zu verarbeiten.
Im Folgenden sehen Sie einen grundlegenden Servlet-Code.
Servlet erstellen
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extending HttpServlet class
public class HelloServlet extends HttpServlet {
private String msg;
public void init() throws ServletException {
// Do required initialization
msg = "Hello Servlet";
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Setting content type for response
response.setContentType("text/html");
// printing msg to browser in h1 heading
PrintWriter out = response.getWriter();
out.println("<h1>" + msg + "</>");
}
public void destroy() {
// code to execute while destroy servlet.
}
}
Ausgabe:
Dieser Servlet-Code gibt die folgende Nachricht an den Browser aus.
Erstellen Sie den Bereitstellungsdeskriptor
Dies ist eine XML-Datei, die Informationen zum Servlet enthält, und der Web-Container erhält alle Informationen aus dieser Datei. Diese Datei verwendet mehrere Tags wie <web-app>
, <servlet>
, <servlet-mapping>
usw.
Sie alle werden verwendet, um Informationen für den Container festzulegen. Der Container verwendet einen Parser, um diese Informationen zu extrahieren.
Sehen Sie sich einen Servlet-Deskriptor (web.xml) für unsere HelloServlet-Klasse an.
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
Nachdem Sie diese XML-Datei erstellt haben, kompilieren Sie die Servlet-Datei und stellen Sie das vollständige Projekt auf einem Webserver wie Apache Tomcat bereit. Dies ist eine Webanwendung, daher ist für die Ausführung ein Server erforderlich.
Starten Sie nach der Bereitstellung des Projekts den Server und greifen Sie auf das Servlet zu, indem Sie die Zuordnungs-URL des Browsers helloservlet
eingeben.
Wichtige Pakete für Servlet
Die Servlet-API enthält zwei Hauptpakete, die alle Klassen und Schnittstellen enthalten.
javax.servlet
javax.servlet.http
Servlet-Klassen
Dies sind einige häufig verwendete Servlet-Klassen:
GenericServlet
ServletInputStream
ServletOutputStream
ServletRequestWrapper
ServletResponseWrapper
ServletRequestEvent
ServletContextEvent
HttpServlet
Cookie
HttpServletRequestWrapper
HttpServletResponseWrapper
HttpSessionEvent
Servlet-Schnittstellen
Dies sind einige häufig verwendete Servlet-Schnittstellen:
Servlet
ServletRequest
ServletResponse
RequestDispatcher
ServletConfig
ServletContext
Filter
FilterConfig
FilterChain
ServletRequestListener
HttpServletRequest
HttpServletResponse
HttpSession
HttpSessionListener