2008-08-07 9 views

Respuesta

21

Las variables POST deben ser accesibles a través del objeto de solicitud: HttpRequest.getParameterMap(). La excepción es si el formulario está enviando datos MIME multiparte (el FORMULARIO tiene enctype = "multipart/form-data"). En ese caso, debe analizar la secuencia de bytes con un analizador MIME. Puede escribir uno propio o utilizar uno existente como Apache Commons File Upload API.

+7

Nota: esta respuesta es anterior al lanzamiento de Servlet 3.0 y soporte estándar para 'multipate/form-data'. Consulte la [API de Java EE 6] (http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html) y/o [esta publicación de blog] (http: // balusc. blogspot.com/2009/12/uploading-files-in-servlet-30.html) – McDowell

46

Aquí hay un ejemplo simple. No me gustó el html o el servlet, pero deberías entenderlo.

Espero que esto te ayude.

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

Ahora para el servlet

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

¿Puede decirme cómo obtener el valor de solicitud de POST en la página de servlet? Estoy usando $ .ajax call not form action y XMLHttpRequest? – selladurai

+0

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

1

Las respuestas anteriores son correctas pero recuerde que debe utilizar el atributo de nombre en los campos de entrada (formulario html) o usted no conseguirá nada. Ejemplo:

<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 -->

Todo este código es HTML válido, pero utilizando getParameter (java.lang.String) que tendrá el atributo de nombre se encuentra en todos los parámetros que desea recibir.

Cuestiones relacionadas