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");
|