使用Java Servlets访问post变量

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

0

5 答案

Your HttpServletRequest object has a getParameter(String paramName) method that can be used to get parameter values. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

0
额外

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

0
额外
注意:此答案早于Servlet 3.0的发布以及对 multipate / form-data 的标准支持。请参阅 Java EE 6 API 和/或此博文
额外 作者 McDowell,

这是一个简单的例子。我没有喜欢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");
    ....
    ....
  }
}
0
额外
你能告诉我如何获得servlet页面中的POST请求值吗?我使用$ .ajax调用而不是表单动作和XMLHttpRequest?
额外 作者 selladurai,
额外 作者 selladurai,

以前的答案是正确的,但记得要使用输入字段的名称属性(HTML表单),或者你不会得到任何东西。例:

<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属性。

0
额外

为了获取所有的后期参数,Map中包含请求参数名称作为关键字和参数值作为关键字。

Map params = servReq.getParameterMap();

并获取正常名称的参数

String userId=servReq.getParameter("user_id");
0
额外