Servlet getParameter() returns 表单数据为空
Servlet getParameter() returns null for form-data
我正在向我的 localhost
Tomcat 8.0 Servlet 3.1 Web 应用程序发送 POST
请求,但是 request.getParameter("")
returns 我 null
。
这就是我提出请求的方式。
我正在使用 PostMan 执行我的 POST
请求。在 java 端,我调用 request.getParameter("code")
,这给了我 null
。 qwe
字段也是如此。我没有使用任何框架。它是原始的 servlet。这只是一个后端,所以都是关于处理数据和响应客户端的。
如果我使用 "x-www-form-urlencoded"
,我可以通过 getParameter()
调用检索参数,但我仍然想知道为什么我无法获得 form-data
.
谢谢。
感谢@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) {}
我正在向我的 localhost
Tomcat 8.0 Servlet 3.1 Web 应用程序发送 POST
请求,但是 request.getParameter("")
returns 我 null
。
这就是我提出请求的方式。
我正在使用 PostMan 执行我的 POST
请求。在 java 端,我调用 request.getParameter("code")
,这给了我 null
。 qwe
字段也是如此。我没有使用任何框架。它是原始的 servlet。这只是一个后端,所以都是关于处理数据和响应客户端的。
如果我使用 "x-www-form-urlencoded"
,我可以通过 getParameter()
调用检索参数,但我仍然想知道为什么我无法获得 form-data
.
谢谢。
感谢@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) {}