About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
.NET
JAVA
HTML http
XML
SQLXML
Datenbanken
CVS
SQL
Servlet Servlet-JSP JSP EJB
 
Basic Servlet

import javax.servlet.*;
import javax.servlet.http.*;

public class SimpleServlet 
       extends HttpServlet {

  public void init() 
         throws ServletException {..}

  public void destroy() {..}

  public void doPost(
         HttpServletRequest request,
         HttpServletResponse response)
         throws Servletexception,IOException 
  {

     // Post einfach nach get umleiten
     doGet(request,response);

  }
 public void doGet(
         HttpServletRequest request,
         HttpServletResponse response)
         throws Servletexception,IOException 
  {

     // die Servlet-Methode
     PrintWriter writer=response.getWriter();
     writer.setContentType("text/html");
     writer.print("<html><body>Meine Seite"

                  "</body></html>");
  }
}
 
Ein Servlet besteht aus den immer notwendigen Methoden: (diese werden vom Servlet-Container, bzw. dem Servlet-Server aufgerufen und dienen der Verwaltung der Servlets).
  • init  wird aufgerufen, wenn das Servlet zum ersten mal gestartet wird. 
  • destroy wird aufgerufen, wenn der Servlet-Container das Servlet wieder vernichtet. Wann dies geschieht hängt vom Container ab und ist nicht einheitlich geregelt. Zumeist "läuft" ein Servlet nach init() mehrere Tage lang, auch wenn es nicht mehr verwendet wird.
  • doGet() und doPost() werden aufgerufen, je nachdem welche Methode der Client gewählt hat. Da diese meist gleichbedeutend  abgehandelt werden können wird häufig einfach doGet() aus doPost() aufgerufen und wie mit einem get Befehl gearbeitet. 
  • HttpServletRequest  ist eine wichtige Quelle. Darin sind alle Parameter enthalten, welche der Client mitgeschickt hat.
  • String n=request.getParamter(
         "abc");
    liefert den Wert für den Parameter, welcher in der <form> mit name="abc" definiert wurde. Gibt es mehrere mit diesem Namen, so wird nur der erste geliefert.
  • String[] n=request.getParameterValues(
         "abc");
    liefert alle Werte für den Parameter "abc". (Die Form kann mehrere gleichnamige Parameter enthalten.)
  • Enumeration n=request.getParameterNames();  liefert alle Parameter, welche der Client mitgeschickt hat.
  • HttpSession session=request.getSession(true), wird verwendet um eine Session zu erzeugen. Darin kann sich das Servlet Daten speichern, welche nur für diesen Client relevant sind und beim nächsten Aufruf wieder verwendet werden sollen. Das Wiedererkennen des Benutzers erfolgt dabei über Cookies und URL-Parameter und wird von der Servlet-Engine automatisch verwaltet.
  • mit PrintWriter writer=response.getWriter();  wird der Writer für die Rückgabe definiert. Diesem muss noch ein Typ zugeordnet werden.
    writer.setContentType("text/html");
 

 
©; created Mon Aug 07 22:31:53 CEST 2006; eMail