Restful风格

Tomcat:
1、将请求体中的数据,封装一个map
2、request.getparameter(“?”) 就会从这个map中取值
3、SpringMVC封装POJO对象的时候,会把POJO中每个属性值调request.getparameter(“?”)

AJAX发送PUT请求:
PUT请求,请求体中的数据,request.getparameter(“?”) 拿不到
Tomcat一看是PUT请求,就不会封装请求体中数据为map。

org.apache.catalina.connector.Request

  1. protected String parseBodyMethods = "POST";
  2. if( !getConnector().isParseBodyMethod(getMethod()) ) {
  3. success = true;
  4. return;
  5. }

spring5.1版本之后HttpPutFormContentFilter已过时,不推荐使用
新版本的是FormContentFilter,支持PUT, PATCH, 和 DELETE 请求

  1. if ("multipart/form-data".equals(contentType)) {
  2. parseParts(false);
  3. success = true;
  4. return;
  5. }
  6. if (!("application/x-www-form-urlencoded".equals(contentType))) {
  7. success = true;
  8. return;
  9. }