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风格的支持的更多相关文章

  1. [五]SpringMvc学习-Restful风格实现

    1.Restful风格的资源URL 无后缀资源的访问(csdn用法) 2.SpringMvc对Rest风格的支持 2.1将 /*.do改为/ 2.2 3.@PathVariable获取Url变量 @R ...

  2. springmvc学习笔记(19)-RESTful支持

    springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...

  3. SpringMVC之reset风格和form表单格式的curd

    CRUD c:create创建 r:retieve:查询 u:update:修改 d:delete:删除 rest /emp/1 get 代表查询id为1的员工 /emp/1 put 代表修改id为1 ...

  4. 【spring springmvc】这里有你想要的SpringMVC的REST风格的四种请求方式

    概述 之前的文章springmvc使用注解声明控制器与请求映射有简单提到过控制器与请求映射,这一次就详细讲解一下SpringMVC的REST风格的四种请求方式及其使用方法. 你能get的知识点 1.什 ...

  5. springMVC入门(七)------RESTFul风格的支持

    简介 RESTful风格(Representational State Transfer),又叫表现层状态转移,是一种开发理念,也是对HTTP协议很好的诠释 主要理念是将互联网中的网页.数据.服务都视 ...

  6. SpringMVC实现Restful风格的WebService

    1.环境 JDK7 MyEclipse2014 tomcat8 maven 3.3.3 spring4.1.4 2.创建maven工程 使用MyEclipse创建maven工程的方式可以参考这篇博文( ...

  7. springmvc的RESTful风格

    springmvc对RESTful得支持RESTful架构,就是目前最流行得一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以挣得到越来越多网站的采用. RESTful(即Repres ...

  8. springmvc添加mock json的支持

    在springmvc中 添加对服务器classPath下的json文件解析之后返回的mock功能: import java.io.FileNotFoundException; import java. ...

  9. springmvc上传图片并显示图片--支持多图片上传

    实现上传图片功能在Springmvc中很好实现.现在我将会展现完整例子. 开始需要在pom.xml加入几个jar,分别是: <dependency> <groupId>comm ...

随机推荐

  1. C++静态存储,动态存储

    什么是静态存储,动态存储静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束. 动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放.典型的例子是函数的 ...

  2. sql server 如何在一个数据库中操作另一个数据库中的数据

    INSERT INTO T1 SELECT   * FROM      OPENDATASOURCE(          'SQLOLEDB',          'Data Source=Serve ...

  3. URI、URL和URN

    URI.URL和URN URI :Uniform Resource Identifier,通用资源标识符: URL:Uniform Resource Locator,统一资源定位符: URN:Unif ...

  4. svg中改变class调用的线条颜色

    <style type="text/css"><![CDATA[ .kV220 {stroke:rgb(255,0,0);fill:none} .kV22 {st ...

  5. OpenJudge计算概论-Tomorrow never knows【输入日期计算下一天的日期】

    /*====================================================================== Tomorrow never knows? 总时间限制 ...

  6. html初学(三)

    <!-- 我就是我,不一样的烟花 piu piu piu 干啥子 如来神掌 -- --- ----- .======. ***********啊啊啊啊啊啊 | INRI | | | | | .= ...

  7. mysql 查看最大连接数 设置最大连接数

    方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100   修改为 max_connections=1000 服务里重起MY ...

  8. DUBBO本地搭建及小案例

    DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档. DUBBO的注册中心安装 DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何 ...

  9. MySQL【Update误操作】回滚(转)

    前言:      继上一篇MySQL[Delete误操作]回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和bi ...

  10. BI案例:KPI在商业智能中的应用(ZT)

    KPI(Key Performance Indication)即关键业绩指标,是通过对组织内部某一流程的输入端.输出端的关键参数进行设置.取样.计算.分析,衡量流程绩效的一种目标式量化管理指标,是把企 ...