0

Tomcat で複数の Web アプリケーションを定義しています。例外が発生した場合は、1 つの jsp をスローします (Spring の SimpleMappingExceptionResolver タグを使用して実行)。jsps を Web アプリケーションの web-inf フォルダーに配置すると、問題なく動作します。しかし、このjspをROOTライブラリなどのTomcatの共通の場所に配置したいと考えています。しかし、これを行うと、Tomcat は jsp を見つけることができません。これを実現するために web.xml を変更する必要があるかどうか、またはこの JSP を別の場所に配置する必要があるかどうかを誰かに教えてもらえますか。前もって感謝します。

4

1 に答える 1

0

「ピックアップ」または「アクセス」とはどういう意味ですか? tomcat ROOT アプリケーションに jsp ファイルを配置し、例外が発生するたびに 302 リダイレクトを行うことができます。

たとえば、すべてのアプリの一般的な例外ページを webapps/ROOT/generic_exception.jsp に配置し、各アプリでこれを web.xml に追加します。

<error-page>
  <exception-type>java.lang.Throwable</exception-type>
  <location>/myapp_error.jsp</location>
</error-page>

キャッチされていない例外が発生した場合は、要求を myapp_error.jsp (myapp 内) にリダイレクトする必要があります。次に、myapp_error.jsp 内で、/generic_exception.jsp への html メタ リダイレクトを実行します。

ただし、このアプローチの欠点は、別の Web アプリにリダイレクトされることです。セッション属性を渡したい場合は、難しい/追加の作業が必要です。

于 2013-04-08T06:15:16.313 に答える