Java Reference
In-Depth Information
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet("/display")
public class DisplayServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
ServletContext myContext = getServletContext();
Counter counter;
synchronized(myContext)
{
counter = (Counter)myContext.getAttribute("counter");
if(counter == null)
{
counter = new Counter();
myContext.setAttribute("counter", counter);
}
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Z&auml;hler</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Realisierung einer " +
"Z&auml;hleranwendung</h1>");
out.println("Der aktuelle Stand des Z&auml;hlers ist " +
counter.get() + ".");
out.println("<p>");
out.println("<form method=\"get\" action=\"increment\">");
out.println("<input type=\"submit\"" +
"value=\"Erh&ouml;hen\"/>");
out.println("</form>");
out.println("<form method=\"get\" action=\"reset\"/>");
out.println("<input type=\"submit\"" +
"value=\"Zur&uuml;cksetzen\">");
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
}
Im Prinzip würde ein einziges Formular genügen, das die beiden Submit-Buttons zum Erhö-
hen und Zurücksetzen enthält. Da aber unterschiedliche Servlets durch die beiden Buttons
aktiviert werden sollen, benötigen wir zwei Formulare. Wie dem generierten HTML-Text
entnommen werden kann, werden beim Drücken der Buttons HTTP-GET-Kommandos an
den Web-Server geschickt. Es genügt daher, wenn in allen Servlets dieser Web-Komponente
nur die Methode doGet überschrieben wird.
Die Servlets zum Erhöhen bzw. Zurücksetzen des Zählers beschaff en sich eine Referenz auf
das Counter-Objekt aus dem ServletContext. Sollte das Counter-Objekt noch nicht existie-
 
Search WWH ::




Custom Search