想着练习一下创建restful风格的网站呢,结果发现在jsp页面上并不能灵活使用put和delete提交方式.下面我的解决办法
一. form 只支持post和get两种提交方式,只支持get提交方式
二. 使用过滤器+form隐藏标签的方式在后台改变form提交方式
a)在web.xml文件中添加过滤器
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意:web.xml文件的标签有严格的前后顺序,标签的位置不能放错,不然会提示
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-
mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-
ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
b)在jsp页面的form中增加隐藏节点
<input type="hidden" name="_method" value="put" />
value的值可以为"delete,put,get"等http允许的提交方式名