Pergunta

O que é o Java equivalente do PHP $_POST?Depois de pesquisar na web por uma hora, eu ainda estou longe de mais.

Foi útil?

Solução

O seu HttpServletRequest objeto tem um getParameter(String paramName) método que pode ser utilizado para obter valores de parâmetro. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Outras dicas

Aqui está um exemplo simples.Eu não começar a fantasia com o html ou o servlet, mas você deve ter uma idéia.

Espero que isso ajude você.

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

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

POST variáveis deve ser acessível através do objeto request: HttpRequest.getParameterMap().A exceção é se o formulário é o envio de MIME com várias partes de dados (FORMULÁRIO enctype="multipart/form-data").Nesse caso, você precisa analisar o fluxo de bytes com um analisador de MIME.Você pode escrever a sua própria ou usar um já existente, como o Apache O Commons Upload De Arquivo API.

As respostas anteriores estão corretas, mas lembre-se de usar o nome do atributo no campo de entrada (formulário html) ou você não ganhará nada.Exemplo:

<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 esse código HTML é válido, mas usando getParameter(java.lang.Seqüência de caracteres), você precisará do nome do atributo foi definido em todos os parâmetros que você deseja receber.

Para a obtenção de todos os parâmetros post há Mapa que contém pedido param nome como chave e param valor como chave.

Map params = servReq.getParameterMap();

E para obter parâmetros com nome conhecido normal

String userId=servReq.getParameter("user_id");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top