Spring MVC添加支持Http的delete、put请求!(HiddenHttpMethodFilter)
浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求。
1.配置springmvc配置文件springmvc-servlet.xml
<!-- 浏览器不支持put,delete等method,由该filter将/xxx?_method=delete转换为标准的http delete方法 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<servlet-name>springmvc</servlet-name>
</filter-mapping>
其中springmvc是DispatcherServlet的名称
2.在对应的Controller中,添加对应的请求注解
/** 进入新增 */
@RequestMapping(value="/new")
/** 显示 */
@RequestMapping(value="/{id}")
/** 编辑 */
@RequestMapping(value="/{id}/edit")
/** 保存新增 */
@RequestMapping(method=RequestMethod.POST)
/** 保存更新 */
@RequestMapping(value="/{id}",method=RequestMethod.PUT)
/** 删除 */
@RequestMapping(value="/{id}",method=RequestMethod.DELETE)
/** 批量删除 */
@RequestMapping(method=RequestMethod.DELETE)
进入新增页面时没有用add而是用new,是因为某些浏览器会将add当做广告拦截掉。
3.页面请求
<form:form action="/xxx/xxx" method="put">
</form:form>
生成的页面代码会添加一个hidden的_method=put,并于web.xml中的HiddenHttpMethodFilter配合使用,在服务端将post请求改为put请求
<form id="userInfo" action="/xxx/xxx" method="post">
<input type="hidden" name="_method" value="put"/>
</form>
另外也可以用ajax发送delete、put请求
最新文章
- oracle 误删数据恢复
- 使用powershell批量添加Keil和IAR的头文件路径
- Eclipse使用Maven构建web项目
- Network - Tcpdump
- 数学+高精度 ZOJ 2313 Chinese Girls&#39; Amusement
- C#抽象类及其方法的学习
- ICSharpCode.SharpZipLib.dll,MyZip.dll,Ionic.Zip.dll 使用
- [C++]unordered_map的使用
- 团队作业8——第二次项目冲刺(Beta阶段)Day5--5.23
- Restaurant
- 注解式Schedule配置定时任务
- Servlet处理流程分析-Servlet学习之旅(二)
- Ubuntu 13.04设置root用户登录图形界面
- spring mvc 在上传图片时,浏览器报The request sent by the client was syntactically incorrect
- Intel 11代全新核显出现了!好强 好乱
- hive高级数据类型
- sys 模块的应用
- 《CLR Via C#》读书笔记:26.线程基础
- Android Studio 安装与设置
- 月之数(hdu2502)数学题
热门文章
- JavaScript逻辑and、or、not运算符详解
- 【SSH 基础】SSH框架--struts深入具体解释(一)
- php内置的http server, 类似于nodejs里面和golang里面的
- 分布式系统漫谈一 —— Google三驾马车: GFS,mapreduce,Bigtable
- Python - 带参数的方法
- 标准库string类型
- js setTimeout和setInterval区别
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
- 网页调用本地程序(Windows下浏览器全兼容)
- python基础篇---列表---知识点回顾