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(); } }