【jetty启动项目正常运行,tomcat可启动,却不支持PUT/DELETE请求 _jetty/tomcat 】 | IT修真院·坑乎
问题已收录 jetty启动项目正常运行,tomcat可启动,却不支持PUT/DELETE请求
我也踩过这个坑( 1 )
已统计您的踩坑,无需重复点击
回答(1)
jetty/tomcat
详细描述
错误截图
编辑于2024-05-13
  • [郑州|荣耀师兄]JAVA-张亚强
    0

    这个问题经过我这周查询资料学习,找到了解决办法:

         问题描述是说jsp页面只支持GET POST或者HEAD,经过查找,发现请求从前端已经到了后端控制器只是在控制器中操作完成后再向前端传递操作结果时jsp页面不能识别,这是因为我们在web.xml中配置了请求转换,如下:

    <filter>
       <filter-name>HiddenHttpMethodFilter</filter-name>
       <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

         通过表单hidden形式将其他请求转为post了请求,而处理完成后回到页面时的请求却没有进行转换,所以jsp页面不支持,经查找有三种解决方法,我是用第二种方法,将controller层的put和delete操作执行完成后,重定向到查询方法执行返回页面(因为查询操作属于get请求):

    (一)将 Tomcat 8 改为 Tomcat 7,在Tomcat 7 下运行是正常的;

    (二)将请求转发(forward)改为请求重定向(redirect);

    (三)自己手动写一个Filter来包装HttpRequest中的getMethod()方法。

         相关链接:https://my.oschina.net/kolbe/blog/509810 

    编辑于2018-08-17