使用Java Servlet访问postvariables

什么是PHP的$_POST的Java等价物? 在网上search了一个小时之后,我依然没有更进一步。

你的HttpServletRequest对象有一个getParameter(String paramName)方法,可以用来获取参数值。 http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String);

这是一个简单的例子。 我没有喜欢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"); .... .... } } 

应该可以通过请求对象访问POSTvariables: HttpRequest.getParameterMap() 。 如果表单发送多部分MIME数据(FORM的enctype =“multipart / form-data” ),则例外。 在这种情况下,您需要使用MIMEparsing器parsing字节stream。 您可以自己编写或使用现有的Apache Commons File Upload API。

以前的答案是正确的,但请记住在input字段(html表单)中使用name属性,否则您将无法获取任何内容。 例:

<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 -->

所有这些代码都是HTML有效的,但是使用getParameter(java.lang.String),您将需要在要接收的所有参数中设置name属性。