我有一个试图处理PUT请求的HttpServlet,它有一些表格参数(用“application / x-www-form-urlencoded”标题发送)。我有相同的设置工作正常POST,但由于某种原因,当我要求参数时,PUT请求变为空:
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws {
Map<String,String[]> params = req.getParameterMap();
System.out.println(params.size());
}
即使我传入参数,params的大小也是0。
是否有其他方法可以读取PUT请求的参数?
答案 0 :(得分:3)
请参阅以下SO问题,似乎回答了您的问题:
答案 1 :(得分:1)
您必须将它们作为参数放在URL上。 PUT的主体没有POST的语义,它将其解释为表单参数。
答案 2 :(得分:0)
Spring MVC提供FormContentFilter来解析PUT,PATCH和DELETE的表单数据,并将其作为servlet请求参数公开
答案 3 :(得分:-1)
您可以使用标题...
req.getHeader("nameParameter")
你不能通过PUT / DELETE参数POST / GET。