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

标签 jsp tomcat exception 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?view=diff&r1=1497877&r2=1497878&pathrev=1497878

但是,我想,这是一个很大的不兼容变化,例如,对于异常处理程序,它用于转发到 JSP 以呈现异常和 iso JSP View ,因为 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

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

最佳答案

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

与此同时,我将看看如何使用某种形式的 Tomcat 特定配置使其可配置,您为此提出了错误:https://issues.apache.org/bugzilla/show_bug.cgi?id=56568

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

关于jsp - HTTP 状态 405 - JSP 仅允许 GET POST 或 HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23886941/

相关文章:

eclipse - 安装了 MacVim,现在 Eclipse 在我不希望的情况下打开其中的 JSP 文件

java - GCM 推送通知不起作用,并且注册 ID 也不显示

angular - Tomcat 重写Cond

Tomcat 试图访问 Windows Server 2008 上的文件系统

java - 生产中需要的后台作业框架

java - 如何解决更新子元素时的ConcurrentModificationException?

c# - Nido的ASP.NET C#异常处理

java - 无法使用包将一个java类的方法使用到第二个类中

java - SpringMVC 处理剩余 Controller 中的错误

java - 显示从 servlet 到 jsp 的结果集值