Formulardaten
In Servlets können Werte von Parametern (unabhängig ob es sich um GET- oder POST-Parameter handelt) über die Methode
getParameter() eines HttpServletRequest-Objekts abgerufen werden. Der Funktion wird dabei als
Übergabeparameter der Name des abzurufenden Parameters übergeben. Als Rückgabe erhalten Sie den Wert des
Parameters in Form des Datentyps String. Existiert der Parameter nicht, so wird null
zurückgegeben.
Im folgenden Beispiel wird über die doGet()-Methode ein Formular (mit der HTTP-Methode POST) ausgegeben. Die
Parameterwerte werden in der doPost()-Methode ausgegeben.
package de.hwh.bsp.formular;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FormServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// Ausgabe als HTML-Seite
response.setContentType("text/html;charset=UTF-8");
// Ausgabe durchführen
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println(" <head>");
out.println(" <title>Formulardaten - Java EE Servlet Code-Beispiel</title>");
out.println();
out.println(" <meta charset=\"utf-8\" />");
out.println();
out.println(" <meta name=\"robots\" content=\"noindex,nofollow\" />");
out.println(" <meta name=\"publisher\" content=\"Homepage-Webhilfe\" />");
out.println(" </head>");
out.println();
out.println(" <body style=\"line-height: 1.5em;\">");
out.println(" <form method=\"post\">");
out.println(" <b>Bitte füllen Sie das Formular aus:</b><br />");
out.println(" Vorname: <input type=\"text\" name=\"vorname\" /><br />");
out.println(" Nachname: <input type=\"text\" name=\"nachname\" /><br />");
out.println(" <input type=\"submit\" value=\"Absenden\" />");
out.println(" </form>");
out.println(" </body>");
out.println("</html>");
out.close();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// Zeichenkodierung auf UTF-8 setzen (für Formulardaten)
request.setCharacterEncoding("UTF-8");
// Ausgabe als HTML-Seite
response.setContentType("text/html;charset=UTF-8");
// Ausgabe durchführen
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println(" <head>");
out.println(" <title>Formulardaten - Java EE Servlet Code-Beispiel</title>");
out.println();
out.println(" <meta charset=\"utf-8\" />");
out.println();
out.println(" <meta name=\"robots\" content=\"noindex,nofollow\" />");
out.println(" <meta name=\"publisher\" content=\"Homepage-Webhilfe\" />");
out.println(" </head>");
out.println();
out.println(" <body style=\"line-height: 1.5em;\">");
out.println(" <b>Ihre Eingaben im Formular waren:</b><br />");
out.println(" Vorname: " + request.getParameter("vorname") + "<br />");
out.println(" Nachname: " + request.getParameter("nachname") + "<br />");
out.println(" </body>");
out.println("</html>");
out.close();
}
}