2008-08-07 17 views

Antwort

21

POST-Variablen sollten über das Anfrageobjekt erreichbar sein: HttpRequest.getParameterMap(). Die Ausnahme ist, wenn das Formular mehrteilige MIME-Daten sendet (die FORM hat enctype = "multipart/form-data"). In diesem Fall müssen Sie den Byte-Stream mit einem MIME-Parser analysieren. Sie können Ihre eigenen schreiben oder eine vorhandene wie die Apache Commons File Upload API verwenden.

+7

Hinweis: Diese Antwort stammt aus der Zeit vor der Veröffentlichung von Servlet 3.0 und der Standardunterstützung für 'multipate/form-data'. Siehe [Java EE 6 API] (http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html) und/oder [diesen Blogeintrag] (http: // balusc. blogspot.com/2009/12/uploading-files-in-servlet-30.html) – McDowell

46

Hier ist ein einfaches Beispiel. Ich habe mit dem html oder dem Servlet keine Lust bekommen, aber Sie sollten auf die Idee kommen.

Ich hoffe, das hilft Ihnen aus.

<html> 
<body> 
<form method="post" action="/myServlet"> 
<input type="text" name="username" /> 
<input type="password" name="password" /> 
<input type="submit" /> 
</form> 
</body> 
</html> 

Jetzt für die Servlets

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class MyServlet extends HttpServlet { 
    public void doPost(HttpServletRequest request, 
        HttpServletResponse response) 
     throws ServletException, IOException { 

    String userName = request.getParameter("username"); 
    String password = request.getParameter("password"); 
    .... 
    .... 
    } 
} 
+2

können Sie mir tel, wie man den POST Anforderungswert in der Servletseite erhält? Ich verwende $ .ajax Aufruf nicht Formularaktion und XMLHttpRequest? – selladurai

+0

meine Frage http://stackoverflow.com/questions/6068510/i-couldnt-get-the-post-value-in-servlet-page – selladurai

1

Die bisherigen Antworten sind richtig, aber an den Namen erinnern Attribut in die Eingabefelder (HTML-Formular) oder Sie nichts bekommen zu verwenden. Beispiel:

<input type="text" id="username" /> <!-- won't work --> <input type="text" name="username" /> <!-- will work --> <input type="text" name="username" id="username" /> <!-- will work too -->

All-Code ist HTML gültig, aber mit getParameter (java.lang.String) erhalten Sie das Attribut name müssen in allen Parametern festgelegt wurde Sie erhalten möchten.