Servlet in Java

Mohammad Irfan 15 Februar 2024
  1. Was ist Servlet?
  2. Vorteile der Verwendung von Servlet
  3. So erstellen Sie ein Servlet in Java
  4. Wichtige Pakete für Servlet
  5. Servlet-Klassen
  6. Servlet-Schnittstellen
Servlet in Java

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:

  1. Implementieren Sie die Servlet-Schnittstelle
  2. Klasse GenericServlet erben
  3. 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.

Java-Servlet

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

Verwandter Artikel - Java Servlet