Pregunta

¿Cuál es el equivalente Java de PHP? $_POST?Después de buscar en la web durante una hora, todavía no estoy más cerca.

¿Fue útil?

Solución

Su HttpServletRequest objeto tiene un getParameter(String paramName) método que se puede utilizar para obtener valores de parámetros. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Otros consejos

He aquí un ejemplo sencillo.No me gustó el html o el servlet, pero deberías entender la idea.

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");
    ....
    ....
  }
}

Se debe poder acceder a las variables POST a través del objeto de solicitud: HttpRequest.getParameterMap().La excepción es si el formulario envía datos MIME de varias partes (el FORMULARIO tiene enctype="multiparte/formulario-datos").En ese caso, necesita analizar el flujo de bytes con un analizador MIME.Puedes escribir el tuyo propio o usar uno existente como Apache Carga de archivos comunes API.

Las respuestas anteriores son correctas, pero recuerda usar el atributo de nombre en los campos de entrada (formulario html) o no obtendrás 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 al usar getParameter(java.lang.String) necesitará que el atributo de nombre esté configurado en todos los parámetros que desee recibir.

Para obtener todos los parámetros de publicación, existe un mapa que contiene el nombre del parámetro de solicitud como clave y el valor del parámetro como clave.

Map params = servReq.getParameterMap();

Y para obtener parámetros con nombre conocido normal

String userId=servReq.getParameter("user_id");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top