Java/JavaServlet

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Java Servlets wurden zur Kommunikation zwischen Client und Server entwickelt. Als "Servlet" wird eine Klasse bezeichnet, die Anfragen vom Client entgegen nimmt und diese verarbeitet.

Einrichtung von Servlets[Bearbeiten]

Um nun Servlets verwenden zu können, muss eine web.xml im Java Projekt vorhanden sein. Die web.xml ansich ist eine Art Konfigurationsdatei oder auch Einrichtungsbeschreibungsdatei genannt im Java Projekt und muss nun um die Elemente "servlet" und "servlet-mapping" erweitert werden.

Der erste ist für das Mapping auf die passende Klasse zuständig:

  <servlet>
    <servlet-name>ServletTest</servlet-name>
    <servlet-class>de.servlet.ServletTest</servlet-class>
  </servlet>

Der zweite übernimmt das Mapping zwischen dem Servletnamen und der URL:

  <servlet-mapping>
    <servlet-name>ServletTest</servlet-name>
    <url-pattern>/servletTest</url-pattern>
  </servlet-mapping>

Eine fertige minimale web.xml würde z.B. so aussehen:

  <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <servlet>
      <servlet-name>ServletTest</servlet-name>
      <servlet-class>de.servlet.ServletTest</servlet-class>
    </servlet>

    <servlet-mapping>
      <servlet-name>ServletTest</servlet-name>
      <url-pattern>/servletTest</url-pattern>
    </servlet-mapping>
  </web-app>

Sobald ein Request auf z.B. localhost:8080/meinTolleWebanwendung/servletTest verweist, wird die o.g. Java-Klasse aufgerufen.

Java Klasse[Bearbeiten]

Die Java-Klasse dient nun dazu, den eben vom User angeforderte Seite auszugeben bzw. die Informationen zu verarbeiten (Servlet URLs können auch Get-Parameter enthalten).

  package de.servlet;

  public class ServletTest extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse resp) {
      resp.getWriter().write("Hallo Welt!");
    }
  }

Wie im Beispiel zu sehen ist, verwende ich hier die doGet-Methode, es gibt analog hierzu auch eine doPost-Methode.