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