Rest风格
在web.xml里写过滤器
<!-- 配置过滤器 作用是把Post请求转换 --> <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>
注意:put和delete请求时需要在表单中添加隐藏域的,并且name="_Method"
package com.yiki.Handle; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @RequestMapping("/restStyle") @Controller public class RestMapping { private static final String SUCCESS = "success"; @RequestMapping(value = "/testRest/{id}", method = RequestMethod.GET) public String testRestGet(@PathVariable Integer id) { System.out.println("GET :" + id); return SUCCESS; } @RequestMapping(value = "/testRest", method = RequestMethod.POST) public String testRestPost() { System.out.println("POST"); return SUCCESS; } @RequestMapping(value = "/testRest/{id}", method = RequestMethod.DELETE) public String testResDeletet(@PathVariable Integer id) { System.out.println("Delete :"+id); return SUCCESS; } @RequestMapping(value = "/testRest/{id}", method = RequestMethod.PUT) public String testResPut(@PathVariable Integer id) { System.out.println("PUT :"+id); return SUCCESS; } }
<a href="restStyle/testRest/1">Get</a> <br> <form action="restStyle/testRest" method="Post"> <input type="submit" value="Post"> </form> <br> <form action="restStyle/testRest/1" method="Post"> <input type="hidden" name="_method" value="DELETE"> <input type="submit" value="Delete"></form> <br> <form action="restStyle/testRest/2" method="Post"> <input type="hidden" name="_method" value="PUT"> <input type="submit" value="PUT"> </form> <br>