HTTP状态405 - JSP仅允许GET POST或HEAD

GKi*_*lin 18 jsp tomcat exception-handling tomcat8

由于JSP 2.3(Tomcat 8)仅支持JSP的方法是GET POST或HEAD:

https://jcp.org/aboutJava/communityprocess/maintenance/jsr245/245-MR3.html http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java ?查看= DIFF&R1 = 1497877&R2 = 1497878&pathrev = 1497878

但是,我想,这是一个很大的不兼容的变化,例如,对于异常处理程序,它用于转发到JSP以呈现异常和iso JSP视图,因为JSP 2.3响应是:

Method Not Allowed
HTTP Status 405 - JSPs only permit GET POST or HEAD 

description The specified HTTP method is not allowed for the requested resource.
Apache Tomcat/8.0.3
Run Code Online (Sandbox Code Playgroud)

如果我们在异常的情况下使用REST和Spring HandlerExceptionResolver,我们肯定会碰到这个问题.是否有针对此问题的解决方法(iso更改http方法类型)?

Mar*_*mas 4

抱歉,目前没有解决方法。我向 EG 提出的建议是,处理的方法可以配置。该建议被拒绝了。我建议您向他们提出这个具体问题,因为这是在每个 JSP(或 JSP 组)的基础上配置支持的方法的一个很好的论据。

同时,我将考虑在您为此提出的错误下使用某种形式的 Tomcat 特定配置来进行配置:https://issues.apache.org/bugzilla/show_bug.cgi ?id=56568

更新:从 Tomcat 8.0.9 开始,当使用 JSP 生成错误页面时,将允许任何 HTTP 方法。