SpringMVC学习(4): HiddenHttpMethodFilter
来源:互联网 发布:三星网络摄像机密码 编辑:程序博客网 时间:2024/05/27 12:22
因为浏览器form表单只支持GET请求和POST请求,而不支持DELETE、PUT请求,因此在Spring3.0中添加了一个过滤器HiddenHttpMethodFilter,可以将这些请求转为标准的http方法,使得支持GET、POST、PUT和DELETE请求。这也使得其具备了REST风格。
在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>在java文件中:
package springmvc;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;@Controller@RequestMapping("/springmvc")public class HelloWorld {private static final String SUCCESS = "success";@RequestMapping(value = "/testRest/{id}", method=RequestMethod.PUT)public String testRestPut(@PathVariable Integer id) {System.out.println("testRest PUT: " + id);return SUCCESS;}@RequestMapping(value = "/testRest/{id}", method=RequestMethod.DELETE)public String testRestDelete(@PathVariable Integer id) {System.out.println("testRest DELETE: " + id);return SUCCESS;}@RequestMapping(value = "/testRest", method=RequestMethod.POST)public String testRest() {System.out.println("testRest POST");return SUCCESS;}@RequestMapping(value = "/testRest/{id}", method=RequestMethod.GET)public String testRest(@PathVariable("id") Integer id) {System.out.println("testRest GET: " + id);return SUCCESS;}}然后在index.jsp文件中使用hidden域
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>SpringMVC</title></head><body><form action="springmvc/testRest/1" method="post"><input type="hidden" name="_method" value="PUT"><input type="submit" value="TestRest PUT"></form><br><br><form action="springmvc/testRest/1" method="post"><input type="hidden" name="_method" value="DELETE"><input type="submit" value="TestRest DELETE"></form><br><br><form action="springmvc/testRest" method="post"><input type="submit" value="TestRest POST"></form><br><br><a href="springmvc/testRest/1">Test Rest Get</a><br><br></body></html>运行一下可以看到运行结果正常。
在这里需要注意的一点是:Tomcat应该使用7.0版本的,因为使用8.0以上的版本,Tomcat会处于对JSP文件的保护,使得PUT和DELETE方法被拒绝,从而返回一个405的错误。
0 0
- SpringMVC学习(4): HiddenHttpMethodFilter
- SpringMVC学习(三)-HiddenHttpMethodFilter过滤器&RequestParam注解&CookieValue注解
- SpringMVC-HiddenHttpMethodFilter
- springmvc HiddenHttpMethodFilter
- SpringMVC之HiddenHttpMethodFilter 过滤器
- SpringMVC(三)HiddenHttpMethodFilter
- SpringMVC 过滤器HiddenHttpMethodFilter
- SpringMVC HiddenHttpMethodFilter的使用
- HiddenHttpMethodFilter过滤器—SpringMVC
- Spring MVC 学习手记(3)- HiddenHttpMethodFilter 过滤器
- HiddenHttpMethodFilter
- springMVC------Rest风格,HiddenHttpMethodFilter的作用
- springmvc-5,HiddenHttpMethodFilter过滤器的作用
- 每日一则JavaWeb---SpringMVC的HiddenHttpMethodFilter过滤器
- springmvc项目3-HiddenHttpMethodFilter与REST风格增删改查
- SpringMVC -- @PathVariable/Rest风格的URL HiddenHttpMethodFilter (2)
- springMVC笔记系列(7)——HiddenHttpMethodFilter过滤器
- SpringMVC用HiddenHttpMethodFilter配置Rest风格的URL
- Editing a Book UVA
- Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解
- Redis快速入门
- Ubuntu16.04安装配置JDK1.7
- 幻方常规求解方法汇总
- SpringMVC学习(4): HiddenHttpMethodFilter
- C++实验4
- JSP编写规范
- 2017.04.21起每日完成
- javaday47_IO流_转换流的规律,指定编码表
- 5.网络层(3)---路由选择协议
- 项目中使用的git工作流
- 递归实现汉诺塔问题
- unreal