SpringMVC REST 风格

什么是REST?

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。—— [ 百度百科 ]

SpringMVC如何使用

1.配置 web.xml 文件

  <!-- HiddenHttpMethodFilter 拦截器 -->
    <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>
    <!-- DispatcherServlet -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <!--响应所有请求-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

2.控制层代码

      // {id} 占位符变量名需和入参变量名一致
      @RequestMapping(value="/user/{id}",method=RequestMethod.GET)  
      public String testGet(@PathVariable("id")Integer id){  
           System.out.println("GET:"+id);  
           return "hello";  
       }  
       @RequestMapping(value="/user/{id}",method=RequestMethod.POST)  
       public String testPost(@PathVariable("id")Integer id){  
           System.out.println("POST:"+id);  
           return "hello";  
       }  
       @RequestMapping(value="/user/{id}",method=RequestMethod.PUT)  
       public String testPut(@PathVariable("id")Integer id){  
           System.out.println("PUT:"+id);  
           return "hello";  
       }  
       @RequestMapping(value="/user/{id}",method=RequestMethod.DELETE)  
       public String testDelete(@PathVariable("id")Integer id){  
           System.out.println("DELETE:"+id);  
           return "hello";  
       }  

3.前端请求

<a href="user/100">Get请求</a>  
 <!-- POST请求的隐藏域可选 --> 
<form action="user/100" method="post">  
    <input type="hidden" name="_method" value="POST">  
    <input type="submit" value="post请求">  
</form>  

<form action="user/100" method="post">  
    <input type="hidden" name="_method" value="PUT">  
    <input type="submit" value="put请求">  
</form>  

<form action="user/100" method="post">  
    <input type="hidden" name="_method" value="DELETE">  
    <input type="submit" value="delete请求">  
</form> 

实现过程

  1. 前端提交表单会将隐藏域中的值一并提交到服务器
  2. SpringMVC 的 HiddenHttpMethodFilter 过滤器根据传来的 _method 的值找到对应Controller
  3. 执行对应的方法
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值