Java Reference
In-Depth Information
abschickt, kann ein GET- oder ein POST-Kommando gesendet werden; dies hängt von der
Angabe im Formular, das durch HTML beschreiben wird, ab.
Die Protected-Methode doGet der Basisklasse HttpServlet erzeugt eine Fehlerseite mit der
Überschri „HTTP Status 405 — HTTP method GET is not supported by this URL“. Entspre-
chendes gilt für doPost. Wenn ein Servlet auf HTTP-GET-Kommandos reagieren soll, muss
man einfach die Methode doGet in seiner abgeleiteten Servlet-Klasse überschreiben. Ent-
sprechendes gilt für POST-Kommandos. Sowohl doGet als auch doPost werden vom Kompo-
nenten-Framework (d. h. dem Web-Server) mit einem Request- und einem Response-Para-
meter aufgerufen. Über den Request-Parameter kann man Informationen über das
HTTP-Kommando herausfi nden (u. a. die in einem Formular eingegeben Werte), über den
Response-Parameter kann das Servlet die HTTP-Antwort, die vom Web-Server zurückge-
schickt wird, gestalten (u. a. den HTML-Text).
In Listing 12.1 ist ein einfaches Servlet dargestellt, das nur auf GET-Kommandos reagiert.
Listing 12.1 Einfaches Hello-Servlet
package javacomp.servlets.application1;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hallo</title>");
out.println("</head>");
out.println("<body>");
double random = Math.random();
if(random < 0.25)
{
out.println("<h1>Hallo Welt!</h1>");
}
else if(random < 0.5)
{
out.println("<h1>Hallo Sonne!</h1>");
}
else if(random < 0.75)
{
out.println("<h1>Hallo Mond!</h1>");
}
else
{
out.println("<h1>Hallo Mars!</h1>");
}
 
Search WWH ::




Custom Search