Acessando variáveis ​​pós usando Java Servlets

votos
46

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

Publicado 07/08/2008 em 20:39
fonte usuário
Em outras línguas...                            


5 respostas

votos
48

Aqui está um exemplo simples. Eu não começar a fantasia com o html ou o servlet, mas você deve ficar com a ideia.

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");
    ....
    ....
  }
}
Respondeu 14/08/2008 em 14:52
fonte usuário

votos
45

Seu HttpServletRequestobjeto tem um getParameter(String paramName)método que pode ser usado para obter valores de parâmetros. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Respondeu 07/08/2008 em 20:43
fonte usuário

votos
21

Variáveis POST deve ser acessível através do objeto pedido: HttpRequest.getParameterMap () . A excepção é que o formulário é o envio de dados de várias vias MIME (a forma tem enctype = "/ forma-dados de várias partes" ). Nesse caso, você precisa analisar o fluxo de bytes com um analisador MIME. Você pode escrever o seu próprio ou utilizar um já existente como o Apache Commons File Upload API.

Respondeu 07/08/2008 em 20:47
fonte usuário

votos
1

Para obter todos os parâmetros pós existe Map que contém pedido param name como valor fundamental e param como chave.

Map params = servReq.getParameterMap();

E para obter parâmetros com nome conhecido normais

String userId=servReq.getParameter("user_id");
Respondeu 19/04/2018 em 13:12
fonte usuário

votos
1

As respostas anteriores estão corretas, mas lembre-se de usar o atributo de nome nos campos de entrada (formulário HTML) ou você não vai conseguir 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 -->

Tudo isso código é HTML válido, mas usando getParameter (java.lang.String) você vai precisar do atributo de nome foi definido em todos os parâmetros que você deseja receber.

Respondeu 24/11/2016 em 11:12
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more