19

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 2.3 応答が次のようになるため、例外と iso JSP ビューをレンダリングするために JSP に転送するために使用されるため、これは互換性のない大きな変更であると思います。

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 メソッド タイプ)?

4

2 に答える 2

4

申し訳ありませんが、これに対する回避策は (現時点では) ありません。EG への私の推奨事項は、処理されるメソッドを構成可能にすることでした。その提案は却下されました。サポートされているメソッドを JSP (または JSP のグループ) ごとに構成可能にするための良い議論であるため、この特定の問題を彼らに提起することをお勧めします。

その間、あなたが提起したバグの下で、何らかの形式の Tomcat 固有の構成を使用して、これを構成可能にすることを検討します: https://issues.apache.org/bugzilla/show_bug.cgi?id=56568

更新: Tomcat 8.0.9 以降、JSP を使用してエラー ページを生成する場合、任意の HTTP メソッドが許可されます。

于 2014-05-27T15:12:30.033 に答える