PHP的$_POST
的Java等价物是什么?在网上搜索了一个小时之后,我仍然离它更近了。
答案 0 :(得分:51)
这是一个简单的例子。我对html或servlet并不感兴趣,但你应该明白这一点。
我希望这可以帮助你。
<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>
现在为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");
....
....
}
}
答案 1 :(得分:46)
您的HttpServletRequest
对象有一个getParameter(String paramName)
方法,可用于获取参数值。 http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
答案 2 :(得分:22)
POST变量应该可以通过请求对象访问:HttpRequest.getParameterMap()。例外情况是表单是否发送多部分MIME数据(FORM具有 enctype =“multipart / form-data”)。在这种情况下,您需要使用MIME解析器解析字节流。您可以自己编写或使用Apache Commons File Upload API等现有的API。
答案 3 :(得分:1)
之前的答案是正确的,但请记住在输入字段(html表单)中使用name属性,否则您将无法获得任何内容。例如:
numberFormatter.string(from: NSNumber(value:value))
所有这些代码都是HTML有效的,但是使用getParameter(java.lang.String),您需要在要接收的所有参数中设置name属性。
答案 4 :(得分:1)
为获取所有帖子参数,Map包含请求参数名称作为键,参数值作为键。
Map params = servReq.getParameterMap();
获取已知名称正常的参数
String userId=servReq.getParameter("user_id");