SpringMVC rest风格发送请求 及@PathVariable

REST:Representational  State  Transfer

用URL定位资源,用HTTP做描述操作  

使用post     delete    put    get  分别对应CRUD操作      spring3.0开始支持rest风格的操作

使用@PathVariable接受参数

 

如何发送put  delete请求

默认情况下,form表单是不支持发送put和delete请求  只支持post和get请求

可以通过配置过滤器将post请求转换为put或delete请求

配置过滤器

 <!--配置隐藏方法过滤器-->
<filter>
    <filter-name>hiddenMethod</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
    <filter-mapping>
        <filter-name>hiddenMethod</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在表单中写入隐藏方法

 <form action="${pageContext.request.contextPath}/testrestform222/100" method="post">
        <input type="hidden" name="_method" value="put">
        <input type="submit" value="测试aa">
    </form>

注意:type必须写为hidden    name必须为  _method      value为put或delete

 @RequestMapping(value = "/testrestform222/{id}",method =RequestMethod.PUT)
    public String testrest(@PathVariable Integer id){
        System.out.println(id);
        return "/second.jsp";
    }

从tomcat8开始,JSPs only permit GET POST or HEAD

即jsp只能识别  get  post  或head请求,因此不能使用普通的请求转发(会报错)   要使用重定向(redirect)

猜你喜欢

转载自blog.csdn.net/weixin_43014205/article/details/85328708