#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

一、问题引入

正常而而,表单只有3种提交方式:get、post、dialog(此种较少用)

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

post方式表单数据放在请求体,get方式表单数据放在url。

关于method="dialog",可以参考:#HTML:<dialog> #method=“dialog“ @FDDLC

 

问题:如何发put、delete等请求?

 

 

二、get提交、post提交的回顾

1、get提交表单数据:表单的默认提交方式

1)、表单页:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

2)、controller:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

3)、跳转页:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

4)、结果:

a、表单页:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

b、跳转页:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

 

2、post提交表单数据:

1)、表单页:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

2)、controller:

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

3)、其他和上面类似,故略

 

3、put、delete等方式提交表单数据:

method只有get、post、dialog这3个属性,如果写其他,都按get方式提交。

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

如果表单像上面这样写,controller中@PutMapping("test")不会被触发,改成@GetMapping("test")才可以。

 

如果我偏要使用@PutMapping("test")呢?那么怎么才能触发该mapping?

方法有多种,比如FormContentFilter、比如HiddenHttpMethodFilter。

 

 

三、通过HiddenHttpMethodFilter来支持put、delete等请求

使用共分3步:导入spring-webmvc依赖;在web.xml中配置HiddenHttpMethodFilter过滤器;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:记录一次oracle rac的OCR_VOTE磁盘一块磁盘坏掉的情况测试。


下一篇:学习Qt Charts - 实时曲线