Acessando o post variáveis usando Servlets Java
Pergunta
O que é o Java equivalente do PHP $_POST
?Depois de pesquisar na web por uma hora, eu ainda estou longe de mais.
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");