Http请求方法传递参数
总结:
1.用ajax传递数据到后台,除开get,post,其他传递方式都需要拦截器处理,才能传递参数,
(ajax 使用 put 或者 delete 是需要浏览器支持的)
如果用的是HiddenHttpMethodFilter过滤器,则需要用post请求,附带一个参数,_method=put这种可以传递参数
如果用的是FormContentFilter这个过滤器,则不需要上述这种,直接给type=put;也可以传递参数
同理,
2.form表单用put,delete方式传递参数(因为表单只有method=get,post两种,所以只能用HiddenHttpMethodFilter过滤器)
(method=get,此时_method不管给什么值都不生效,所以是get方式,也就是说本质为post)
需要用到HiddenHttpMethodFilter过滤器,附加一个参数_method=put;
3.httpClient和ajax都是传递数据的本质是一样的,httpClient
用的是HiddenHttpMethodFilter过滤器,则需要用post请求,附带一个参数,_method=put这种可以传递参数
用的是FormContentFilter这个过滤器,则不需要上述这种,直接给type=put;也可以传递参数
4.FormContentFilter相比HiddenHttpMethodFilter就是多加了一个_method=put;两个都是继承同一个父类OncePerRequestFilter
servlet只要重写了对应的方法doGet,doPost,doDelete方法就可以接收put,delete,get,post方法传递,但是接受的内容需要特殊处理,所以才需要过滤器来解析传过来的内容