使用Java Servlets访问post变量

xsint 发布于 2018-03-05 http 最后更新 2018-03-05 01:04 1244 浏览

什么是PHP的$_POST的Java等价物?在网上搜索了一个小时之后,我还没有接近。

已邀请:

wanimi

赞同来自:

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

fnam

赞同来自:

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

esaepe

赞同来自:

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

ut_et

赞同来自:

以前的答案是正确的,但请记住在输入字段(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属性。