`
hougbin
  • 浏览: 492805 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

spring mvc 3支持 http 的put和delete方法

    博客分类:
  • ssh
 
阅读更多

   浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求。

    1.配置springmvc配置文件springmvc-servlet.xml

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><!-- 浏览器不支持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中,添加对应的请求注解

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->/** 进入新增 */
@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.页面请求

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><form:form action="/xxx/xxx" method="put">  
</form:form>


    生成的页面代码会添加一个hidden的_method=put,并于web.xml中的HiddenHttpMethodFilter配合使用,在服务端将post请求改为put请求

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><form id="userInfo" action="/xxx/xxx" method="post">  
    
<input type="hidden" name="_method" value="put"/>  
</form> 


    另外也可以用ajax发送delete、put请求

分享到:
评论
1 楼 lgs0626 2012-12-20  
麻烦问一下weblogic 10.X能支持put 和delete方法嘛?

相关推荐

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    Laview-Web-Framework:这个框架类似于spring mvc,它基于servlet3!

    Laview-Web-FrameworkThis...url 最后一级名称 *)方法支持所有请求操作(GET, POST, PUT, DELETE, OPTIONS)*)不带参数的注解:@Get --- GET 请求操作@Post --- POST 请求操作@Delete --- Delete 请求操作 @Put --- put

    spring加载restful(文档+程序源码)

    spring加载restful(文档+程序源码) ...然后我们再完成一个更复杂的应用来了解Spring 3 REST支持的重要概念,如多种MIME类型表示支持和JAXB支持。另外,本文还使用一些代码片断来帮助理解这些概念。

    spring4-mvc-rest-example:使用Servlet 3,带有Java配置的Spring 4和带有Mongo存储库的Spring数据的示例Rest API应用程序

    支持的方法是GET,POST,PUT,DELETE和PATCH下面是一些示例: curl -X POST -H "Content-Type: application/json" -H -d '{ "id":"1001", "jerseyNumber":8, "name":"Steven Gerrard" }' '...

    Spring Restful 可运行完整项目

    Spring MVC Restful 基础搭建 ,主要包括:采用 GET POST PUT DELETE 进行数据的 CRUD ,以及内容协商机制,通过不同的请求返回不同的数据格式,包括 JSON XML 以及 HTML

    SpringBootCRUD:弹簧靴

    SpringBootCRUD使用Spring Boot,JPA和Hibernate创建CRUD REST API /服务本指南将帮助您使用Spring Boot,JPA和Hibernate创建CRUD... GET,POST,PUT和DELETE请求方法之间有什么区别?奥瑟米尔扎·阿迪尔(Mirza Adil)

    angular_websockets_security:AngularJS,Websockets,Restful,Spring,Spring Security,Hibernate,Bootstrap,Gulp in ES6,Maven

    angular_websockets_security 具有Bootstrap,Web套... RESTFUL-API和WEBSOCKET-API可以在任何Web服务器上运行,但是已经针对Tomcat 8(该服务器需要http DELETE和PUT)进行了测试,因此请确保您的Web服务器可以支持这

    SpringMVC Employee Demo

    本次实践内容包括RequestMapping关键字修饰类和方法(请求方式、请求参数&请求头、Ant风格路径)、PathVariable注解、HiddenHttpMethodFilter 过滤器(将Get请求转换成PUT、DELETE请求)、RequestParam 注解、...

    弹簧框架5

    弹簧框架5 Creado con Java 15 embedido en el IDE...controlador,validador,objeto形式,DispatcherServlet(selecciona controlador y ruta),处理程序映射(get,post,put,delete),视图解析器等 Controlador

    fbank:fbank PayULatam

    使用了 HTTP 动词: GET 、 POST 、 PUT和DELETE 。 不考虑使用PATCH进行部分资源修改。 这些服务上的超媒体实现留待以后的迭代。 工具和版本 以下是不同开发活动中使用的工具: JDK : 使用JDK 1.8 。 这很重要,...

    SSM_CRUD:SSM_CRUD (Spring+SpringMVC+Mybatis高级整合)

    4、Rest风格的URI:使用HTTP协议请求方式的动词,来表示对资源的操作(GET(查询)、POST(新赠)、PUT(修改)、DELETE(删除)) 技术点: 1、基础框架-ssm(SpringMVC+Spring+Mybatis) 2、数据库-MySQL 3、前端框架-...

    spring-boot-course-API:大学的Spring Boot申请,以维护大学提供的各种主题和课程

    春天引导课程API 大学的Spring ... 通过RESTful端点公开的所有C​​RUD操作(PUT,POST,GET,DELETE)。 Spring Security,OAuth和登录验证。 到目前为止,邮递员仍然是我的前端。 将对此进行更新,并将添加一些功能。

    rest风格+jdbctemplate的CRUD操作.rar

    运用到的技术:spring+springMVC+jdbctemplate+MVC框架 具体细节: ①查询所有员工列表:jdbcTemplate.query(sql, new RowMapper() {}回调函数的使用 ②添加员工:添加员工之前要先查询出所有部门,因此要先查询所有...

    RESTfulService

    基于 Spring MVC、安全性、aop 的 RESTful 服务示例。 使用 /users POST 创建新用户 a) 使用 login?j_username=admin&j_password=admin POST 以管理员身份登录b) 使用 login?j_username={user email}&j_password={...

    PostMan案例-Maven项目

    提供以下5个示例接口 http://localhost/books 「GET」查询全部书目信息 (查询) http://localhost/books/1 「GET」查询指定书目信息(查询) ... http://localhost/books/1 「DELETE」删除书目信息(删除)

Global site tag (gtag.js) - Google Analytics