浏览器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请求

最新文章

  1. oracle 误删数据恢复
  2. 使用powershell批量添加Keil和IAR的头文件路径
  3. Eclipse使用Maven构建web项目
  4. Network - Tcpdump
  5. 数学+高精度 ZOJ 2313 Chinese Girls&#39; Amusement
  6. C#抽象类及其方法的学习
  7. ICSharpCode.SharpZipLib.dll,MyZip.dll,Ionic.Zip.dll 使用
  8. [C++]unordered_map的使用
  9. 团队作业8——第二次项目冲刺(Beta阶段)Day5--5.23
  10. Restaurant
  11. 注解式Schedule配置定时任务
  12. Servlet处理流程分析-Servlet学习之旅(二)
  13. Ubuntu 13.04设置root用户登录图形界面
  14. spring mvc 在上传图片时,浏览器报The request sent by the client was syntactically incorrect
  15. Intel 11代全新核显出现了!好强 好乱
  16. hive高级数据类型
  17. sys 模块的应用
  18. 《CLR Via C#》读书笔记:26.线程基础
  19. Android Studio 安装与设置
  20. 月之数(hdu2502)数学题

热门文章

  1. JavaScript逻辑and、or、not运算符详解
  2. 【SSH 基础】SSH框架--struts深入具体解释(一)
  3. php内置的http server, 类似于nodejs里面和golang里面的
  4. 分布式系统漫谈一 —— Google三驾马车: GFS,mapreduce,Bigtable
  5. Python - 带参数的方法
  6. 标准库string类型
  7. js setTimeout和setInterval区别
  8. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
  9. 网页调用本地程序(Windows下浏览器全兼容)
  10. python基础篇---列表---知识点回顾