HiddenHttpMethodFilter
普通浏览器只支持post和get方法,但实际上http不仅仅定义了这两个请求方法,还包括PUT、DELETE、HEAD以及POTIONS,故要解决浏览器对请求方式的限制,在SpringMVC就要使用过滤器HiddenHttpMethodFilter
web.xml:
      <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>
网页请求示例:
      <form action="A/testpost" method="post">
              <input type="submit" value="增"/>
         </form>
         <form action="A/testdelete" method="post">
              <input type="hidden" name="_method" value="DELETE"/>
              <input type="submit" value="删"/>
         </form>
         <form action="A/testput" method="post">
              <input type="hidden" name="_method" value="PUT"/>
              <input type="submit" value="改"/>
         </form>
         <form action="A/testget" method="get">
              <input type="submit" value="查"/>
         </form>
Controller:
      @RequestMapping(value="testpost",method=RequestMethod.POST)
         public String methodpost( )
         {
              System.out.println("---增---");
              return "la";
         }
    
         @RequestMapping(value="testdelete",method=RequestMethod.DELETE)
         public String methoddelete( )
        {
            System.out.println("---删---");
              return "la";
         }
    
         @RequestMapping(value="testput",method=RequestMethod.PUT)
         public String methodput( )
         {
               System.out.println("---改---");
               return "la";
         }
    
         @RequestMapping(value="testget",method=RequestMethod.GET)
         public String methodget()
         {
               System.out.println("---查---");
               return "la";
         }
注意点:在tomcat8.5中,DELETE和PUT请求可以进入对应的控制器中,但是在返回视图渲染时就会因为不支持而报错(405)
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号