【问题标题】:Java Servlet doPost() returning null from PostmanJava Servlet doPost() 从 Postman 返回 null
【发布时间】:2019-03-04 14:58:59
【问题描述】:

我正在做一个简单的Java ServletPOST request,没有使用任何HTML,只使用Postman。来自getParameter() 的响应始终是null

这里是 servlet:

@WebServlet("/api/form")
public class FormServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String orderNumber = req.getParameter("testString");
        System.out.println(orderNumber);
        resp.getWriter().print(orderNumber);
    }
}

还有一张带有回复的图片以及我是如何做到的:

编辑

正如 Mukesh Verma 所评论的那样。

我所要做的就是添加@MultipartConfig Annotation,然后我就得到了数据。

【问题讨论】:

  • 如果你传入"test" 而不是test 怎么办?
  • @npinti 结果相同
  • @npinti 这有什么帮助?这不是表单请求中发送的内容。
  • 你能显示请求“标题”标签吗?
  • 尝试使用@MultipartConfig 注解。它处理表单数据 mime 类型。

标签: java post servlets postman


【解决方案1】:

将 Postman 的单选按钮从 form-data 更改为 x-www-form-urlencoded 也可以解决问题,我能够获取数据。

【讨论】:

    【解决方案2】:

    尝试使用@MultipartConfig 注解。它处理表单数据 mime 类型。

    【讨论】:

      【解决方案3】:

      getParameter 方法不是这样工作的。正如question 中所述,您应该使用以下 URL 调用 servlet:

      http://localhost:8080/api/form?testString=test
      

      【讨论】:

      • 它确实返回“test”,但有没有办法让它与 Postman 的表单数据一起工作?
      • 尝试将 Postman 的单选按钮从 form-data 更改为 x-www-form-urlencoded
      • 不一定是getParameter(),但有没有办法从请求中获取数据?
      • 它仍然返回 null
      • @kataroty 试试getParameterMap() 看看有没有收获
      猜你喜欢
      • 2014-10-10
      • 1970-01-01
      • 2012-05-04
      • 2010-11-05
      • 2012-07-19
      • 2015-04-09
      • 2014-05-23
      • 1970-01-01
      • 2018-09-30
      相关资源
      最近更新 更多