浏览器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请求
分享到:
相关推荐
本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...
Laview-Web-FrameworkThis...url 最后一级名称 *)方法支持所有请求操作(GET, POST, PUT, DELETE, OPTIONS)*)不带参数的注解:@Get --- GET 请求操作@Post --- POST 请求操作@Delete --- Delete 请求操作 @Put --- put
spring加载restful(文档+程序源码) ...然后我们再完成一个更复杂的应用来了解Spring 3 REST支持的重要概念,如多种MIME类型表示支持和JAXB支持。另外,本文还使用一些代码片断来帮助理解这些概念。
支持的方法是GET,POST,PUT,DELETE和PATCH下面是一些示例: curl -X POST -H "Content-Type: application/json" -H -d '{ "id":"1001", "jerseyNumber":8, "name":"Steven Gerrard" }' '...
Spring MVC Restful 基础搭建 ,主要包括:采用 GET POST PUT DELETE 进行数据的 CRUD ,以及内容协商机制,通过不同的请求返回不同的数据格式,包括 JSON XML 以及 HTML
SpringBootCRUD使用Spring Boot,JPA和Hibernate创建CRUD REST API /服务本指南将帮助您使用Spring Boot,JPA和Hibernate创建CRUD... GET,POST,PUT和DELETE请求方法之间有什么区别?奥瑟米尔扎·阿迪尔(Mirza Adil)
angular_websockets_security 具有Bootstrap,Web套... RESTFUL-API和WEBSOCKET-API可以在任何Web服务器上运行,但是已经针对Tomcat 8(该服务器需要http DELETE和PUT)进行了测试,因此请确保您的Web服务器可以支持这
本次实践内容包括RequestMapping关键字修饰类和方法(请求方式、请求参数&请求头、Ant风格路径)、PathVariable注解、HiddenHttpMethodFilter 过滤器(将Get请求转换成PUT、DELETE请求)、RequestParam 注解、...
弹簧框架5 Creado con Java 15 embedido en el IDE...controlador,validador,objeto形式,DispatcherServlet(selecciona controlador y ruta),处理程序映射(get,post,put,delete),视图解析器等 Controlador
使用了 HTTP 动词: GET 、 POST 、 PUT和DELETE 。 不考虑使用PATCH进行部分资源修改。 这些服务上的超媒体实现留待以后的迭代。 工具和版本 以下是不同开发活动中使用的工具: JDK : 使用JDK 1.8 。 这很重要,...
4、Rest风格的URI:使用HTTP协议请求方式的动词,来表示对资源的操作(GET(查询)、POST(新赠)、PUT(修改)、DELETE(删除)) 技术点: 1、基础框架-ssm(SpringMVC+Spring+Mybatis) 2、数据库-MySQL 3、前端框架-...
春天引导课程API 大学的Spring ... 通过RESTful端点公开的所有CRUD操作(PUT,POST,GET,DELETE)。 Spring Security,OAuth和登录验证。 到目前为止,邮递员仍然是我的前端。 将对此进行更新,并将添加一些功能。
运用到的技术:spring+springMVC+jdbctemplate+MVC框架 具体细节: ①查询所有员工列表:jdbcTemplate.query(sql, new RowMapper() {}回调函数的使用 ②添加员工:添加员工之前要先查询出所有部门,因此要先查询所有...
基于 Spring MVC、安全性、aop 的 RESTful 服务示例。 使用 /users POST 创建新用户 a) 使用 login?j_username=admin&j_password=admin POST 以管理员身份登录b) 使用 login?j_username={user email}&j_password={...
提供以下5个示例接口 http://localhost/books 「GET」查询全部书目信息 (查询) http://localhost/books/1 「GET」查询指定书目信息(查询) ... http://localhost/books/1 「DELETE」删除书目信息(删除)