Servlets - Beispiele

Servlets sind Java-Klassen, die HTTP-Anforderungen bearbeiten und die implementieren javax.servlet.ServletSchnittstelle. Webanwendungsentwickler schreiben normalerweise Servlets, die javax.servlet.http.HttpServlet erweitern, eine abstrakte Klasse, die die Servlet-Schnittstelle implementiert und speziell für die Verarbeitung von HTTP-Anforderungen entwickelt wurde.

Beispielcode

Im Folgenden finden Sie die Beispiel-Quellcodestruktur eines Servlet-Beispiels zur Darstellung von Hello World -

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

Servlet kompilieren

Lassen Sie uns eine Datei mit dem Namen HelloWorld.java mit dem oben gezeigten Code erstellen. Platzieren Sie diese Datei unter C: \ ServletDevel (unter Windows) oder unter / usr / ServletDevel (unter Unix). Diese Pfadposition muss zu CLASSPATH hinzugefügt werden, bevor Sie fortfahren können.

Angenommen, Ihre Umgebung ist ordnungsgemäß eingerichtet, gehen Sie hinein ServletDevel Verzeichnis und kompilieren Sie HelloWorld.java wie folgt -

$ javac HelloWorld.java

Wenn das Servlet von anderen Bibliotheken abhängt, müssen Sie diese JAR-Dateien auch in Ihren CLASSPATH aufnehmen. Ich habe nur die JAR-Datei servlet-api.jar eingefügt, da ich keine andere Bibliothek im Hello World-Programm verwende.

Diese Befehlszeile verwendet den integrierten Javac-Compiler, der mit dem Sun Microsystems Java Software Development Kit (JDK) geliefert wird. Damit dieser Befehl ordnungsgemäß funktioniert, müssen Sie den Speicherort des von Ihnen verwendeten Java SDK in die Umgebungsvariable PATH aufnehmen.

Wenn alles gut geht, würde die obige Kompilierung ergeben HelloWorld.classDatei im selben Verzeichnis. Im nächsten Abschnitt wird erläutert, wie ein kompiliertes Servlet in der Produktion bereitgestellt wird.

Servlet-Bereitstellung

Standardmäßig befindet sich eine Servlet-Anwendung im Pfad <Tomcat-Installationsverzeichnis> / webapps / ROOT, und die Klassendatei befindet sich im <Tomcat-Installationsverzeichnis> / webapps / ROOT / WEB-INF / classes.

Wenn Sie einen vollständig qualifizierten Klassennamen von haben com.myorg.MyServletDann muss sich diese Servlet-Klasse in WEB-INF / classes / com / myorg / MyServlet.class befinden.

Lassen Sie uns zunächst HelloWorld.class in das <Tomcat-Installationsverzeichnis> / webapps / ROOT / WEB-INF / classes kopieren und die folgenden Einträge in erstellen web.xml Datei im Verzeichnis <Tomcat-Installationsverzeichnis> / webapps / ROOT / WEB-INF /

<servlet>
   <servlet-name>HelloWorld</servlet-name>
   <servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>HelloWorld</servlet-name>
   <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

Über den Einträgen, die in <web-app> ... </ web-app> -Tags erstellt werden sollen, die in der Datei web.xml verfügbar sind. Es könnten bereits verschiedene Einträge in dieser Tabelle verfügbar sein, aber egal.

Sie sind fast fertig. Lassen Sie uns nun den Tomcat-Server mit <Tomcat-Installationsverzeichnis> \ bin \ startup.bat (unter Windows) oder <Tomcat-Installationsverzeichnis> /bin/startup.sh (unter Linux / Solaris usw.) starten und schließlich eingeben http://localhost:8080/HelloWorldim Adressfeld des Browsers. Wenn alles gut geht, erhalten Sie das folgende Ergebnis