4

我正在向我的Tomcat 8.0 Servlet 3.1 Web 应用程序发送POST请求,但返回给我。localhostrequest.getParameter("")null

这就是我提出要求的方式。 使用邮递员

我正在使用 PostMan 来执行我的POST请求。在 java 方面,我正在打电话request.getParameter("code"),这给了我null. 领域也是如此qwe。我没有使用任何框架。它是原始的 servlet。这只是一个后端,所以它是关于处理数据和响应客户端的。

如果我使用"x-www-form-urlencoded",我可以通过getParameter()调用检索参数,但我仍然想知道为什么我无法获取form-data

谢谢。

4

1 回答 1

1

感谢@cjstehno

当他说"form-data"实际上是多部分数据时,我试图将其读取为多部分数据,但要考虑isFormField()区分文件和参数的方法。因此,从原始 servlet 中,可以阅读form-data下面的代码。从性能的角度来看,我很确定这可能会得到改善。

try {
     ServletFileUpload upload = new ServletFileUpload();
     FileItemIterator iter = upload.getItemIterator(request);

     while (iter.hasNext()) {
          FileItemStream item = iter.next();
          String name = item.getFieldName();

          if (item.isFormField()) {
               String value = Streams.asString(item.openStream());
          }
     }          
 } catch (Exception ex) {}
于 2017-08-29T20:20:32.370 回答