springmvc 对REST风格的支持
1、PathVariable注解
用于映射url的占位符到目标方法的参数中
例子:
@RequestMapping("/testPathVariable/{id}") public String testPathVariable(@PathVariable("id") Integer id) { syso (id); }
请求:/testPathVariable/101 输出:101
2、REST请求示例:
/order HTTP POST --新增
/order/1 HTTP DELETE --删除
/order/1 HTTP PUT --修改
/order/1 HTTP GET --查看
3、如何发送一个PUT和DELETE请求
1)在web.xml中配置一个filter HiddenHttpMethodFilter。
2)发送一个POST请求
3)在请求参数中放入_method = DELETE 或PUT
配置:
<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>
controller:
@RequestMapping(value="/order/{id}",method=RequestMethod.GET)
public String testGet(@PathVariable Integer id) {
System.out.println("testGet id=" + id);
return SUCCESS;
} @RequestMapping(value="/order",method=RequestMethod.POST)
public String testPOST() {
System.out.println("testPOST");
return SUCCESS;
} @RequestMapping(value="/order/{id}",method=RequestMethod.PUT)
public String testPUT(@PathVariable Integer id) {
System.out.println("testPUT id=" + id);
return "redirect:/success.jsp";
} @RequestMapping(value="/order/{id}",method=RequestMethod.DELETE)
public String testDELETE(@PathVariable Integer id) {
System.out.println("testDELETE id=" + id);
return "redirect:/success.jsp";
}
测试:
<br>
<br>
<a href="test/order/11">test testGET</a>
<br>
<br>
<form action="test/order" method="post">
<input type="submit" value="testPost">
</form> <br>
<br>
<form action="test/order/11" method="post">
<input type="hidden" name="_method" value="PUT">
<input type="submit" value="testPUT">
</form> <br>
<br>
<form action="test/order/11" method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="submit" value="testDELETE">
</form>
注意tomcat8报错:
HTTP Status 405 - JSPs only permit GET POST or HEAD
1、使用低版本tomcat
2、在返回时使用重定向:return "redirect :/test.jsp"
3、写一个Filter来包装HttpRequest中的getMethod()方法
springmvc 对REST风格的支持的更多相关文章
- [五]SpringMvc学习-Restful风格实现
1.Restful风格的资源URL 无后缀资源的访问(csdn用法) 2.SpringMvc对Rest风格的支持 2.1将 /*.do改为/ 2.2 3.@PathVariable获取Url变量 @R ...
- springmvc学习笔记(19)-RESTful支持
springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...
- SpringMVC之reset风格和form表单格式的curd
CRUD c:create创建 r:retieve:查询 u:update:修改 d:delete:删除 rest /emp/1 get 代表查询id为1的员工 /emp/1 put 代表修改id为1 ...
- 【spring springmvc】这里有你想要的SpringMVC的REST风格的四种请求方式
概述 之前的文章springmvc使用注解声明控制器与请求映射有简单提到过控制器与请求映射,这一次就详细讲解一下SpringMVC的REST风格的四种请求方式及其使用方法. 你能get的知识点 1.什 ...
- springMVC入门(七)------RESTFul风格的支持
简介 RESTful风格(Representational State Transfer),又叫表现层状态转移,是一种开发理念,也是对HTTP协议很好的诠释 主要理念是将互联网中的网页.数据.服务都视 ...
- SpringMVC实现Restful风格的WebService
1.环境 JDK7 MyEclipse2014 tomcat8 maven 3.3.3 spring4.1.4 2.创建maven工程 使用MyEclipse创建maven工程的方式可以参考这篇博文( ...
- springmvc的RESTful风格
springmvc对RESTful得支持RESTful架构,就是目前最流行得一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以挣得到越来越多网站的采用. RESTful(即Repres ...
- springmvc添加mock json的支持
在springmvc中 添加对服务器classPath下的json文件解析之后返回的mock功能: import java.io.FileNotFoundException; import java. ...
- springmvc上传图片并显示图片--支持多图片上传
实现上传图片功能在Springmvc中很好实现.现在我将会展现完整例子. 开始需要在pom.xml加入几个jar,分别是: <dependency> <groupId>comm ...
随机推荐
- ASP.NET中JSON的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介 ...
- ABBYY如何把PDF转换Excel
我们都知道2007以上版本的Office文档,是可以直接将文档转存为PDF格式文档的.那么反过来,PDF文档可以转换成其他格式的文档吗?这是大家都比较好奇的话题.如果可以以其他格式进行保存,就可以极大 ...
- android绘画折线图一
最近需要实现用android来画折线图,所以百度了一下,发现确实很多,也很乱,现在整理两种方法(第二种方法在[android绘画折线图二]中实现),仅供大家参考,一起学习研究. 第一种使用ChartF ...
- BlueStacks 设置代理服务器 Proxifier指定任意程序的代理服务器
详见地址: http://www.ccproxy.com/proxifier-tou-ming-dai-li.htm BlueStacks如何使用代理服务器 http://www.360doc.com ...
- .Net HttpPost的发送和接收示例代码
/// <summary> /// 模拟http 发送post或get请求 /// </summary> /// <param name="Url"& ...
- ASP.NET MVC3升级到ASP.NET MVC4 的方法
ASP.NET MVC3升级 ASP.NET MVC4 的方法: 1.先去掉引用的System.Web.Mvc.dll(MVC3版本),重新引入System.Web.Mvc.dll(MVC4版本) 2 ...
- python psutil 模块
一.获取系统性能信息 1 .CPU信息 User time,执行用户进程的时间百分比 System time,执行内核进程和中断的百分比 Wait IO,由于IO等待而使CPU处于idle(空闲)状态 ...
- 支付宝客户端支付配置RSA公钥的问题错误,导致收不到回发通知
没收到通知的原因是你们的商户公钥上传地址弄错了,应该上传到合作伙伴管理,您上传到无线wap哪里了,把您的公钥,从无线wap哪里复制贴到合作伙伴管理即可
- shopex用户登陆错误提示在nginx下乱码问题
http://www.test.cn/passport-aHR0cDosLHd3dy54eTAwNy5jbixwYXNzcG9ydC1hSFIwY0Rvc0xIZDNkeTU0ZVRBd055NWpi ...
- sqlite 下载的 ZIP 包的区别
https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki sqlite-netFx20-binary-bundle- ...