Senden von Parameter aus JSP zu Servlet über POST

Baue ich eine einfache web-app und versuchen, zu erstellen eine login-Seite. Die Seite besteht aus einer JSP mit einer form, die Lasten, die ein Servlet.

Hab ich die form der Arbeit wird mit der Methode GET:

JSP sieht wie folgt aus:

<form method="get" action="Login">
Email:<input name="email"/>
Password:<input name="password"/>
<input type="Submit" value="Log in"/>

Und im Servlet:

@WebServlet(name = "Login", urlPatterns = {"/Login"})
public class Login extends HttpServlet {

/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

//Assign variables from the request parameters
String loginFormEmail = request.getParameter("email");
String loginFormPassword = request.getParameter("password");

Dieser code funktioniert, aber es enthält den Benutzernamen und das Passwort in die URL-Zeichenfolge, so ist es offensichtlich keine gute Praxis. Ich habe versucht, dies zu tun mit POST anstelle, aber ich habe immer einen Fehler. (HTTP Status 405 - HTTP-Methode POST ist nicht unterstützt von dieser URL)

Muss ich wissen, wie die sende-Parameter aus JSP an das Servlet mit der POST. Ich denke, dies kann bedeuten, mit RequestDispatcher-Objekt, aber alle tutorials die ich gefunden habe, erklären, mit RequestDispatcher zum senden von Daten vom Servlet zum JSP, nicht die andere Weise herum. Kann man/sollte man verwenden Request Dispatcher senden von POST-Daten von der JSP an das Servlet? Und wie Sie den Zugriff auf diese Parameter aus dem Servlet? (Gibt es ein äquivalent von Anfrage.getParameter() für POST?)

Ich verstehe, dass die Verwendung von POST immer noch nicht sicher, aber es ist eine viel bessere übung, als darunter das Passwort in die Abfrage-Zeichenfolge, und ich werde denken über Sicherheit später.

Entschuldigung für die grundlegende Frage, ich habe viele tutorials online, aber keiner von Ihnen scheinen, die Antwort auf diese spezielle Frage. Danke.

  • Welche Fehler haben Sie bei der Verwendung von POST?
  • Siehe Antwort für diese Frage: stackoverflow.com/questions/2349633/servlets-doget-and-dopost
  • Den Fehler bekomme ich bei der Verwendung von POST-HTTP-Status 405 - HTTP-Methode POST ist nicht unterstützt von dieser URL
  • Bitte ein wenig mehr Forschung. Sie könnten nur haben copypasted "HTTP Status 405 - HTTP-Methode POST ist nicht unterstützt von dieser URL" in die Google-Suche Eingabefeld oder auch nur hier auf Stack Overflow (rechts oben).
InformationsquelleAutor Jon | 2013-05-21
Schreibe einen Kommentar