1

次の場所からスプリングコントローラーを呼び出す方法があるかどうかを知る必要がありweb.xmlます:

<error-page>
    <exception-type>org.demo.exceptions.InvalidSessionException</exception-type>
    <location>/login.jsp</location>
</error-page>

as という名前のカスタム例外クラスを作成しましたInvaliSessionException。通常、タグからいくつかの jsp ページを呼び出しますが、必要なことはie<location>などのログイン コントローラーを呼び出すことです。auth/login<location>/auth/login</location>

これを達成する方法はありますか?

InvaliSessionException.java

public class InvalidSessionException extends NullPointerException 
{
    private static final long serialVersionUID = 1L;

public String getMessage()
{
    return "No user logged in.";
}

public int getExceptionType()
{
    return -1;
}
}
4

1 に答える 1

1

これを行うための推奨される方法は、web.xml から Spring コンテキストに再入力しようとするのではなく、Spring コンテキスト内に「グローバル例外ハンドラー」を追加することです。

これは、コンテキストで org.springframework.web.servlet.handler.SimpleMappingExceptionResolver Bean を構成することで実現できます。このリゾルバーが処理する必要がある例外のリストを含む exceptionMappings プロパティを設定し、例外ごとに、ユーザーに表示する必要があるビューを指定します。

これにより、デザインがクリーンで保守しやすくなります。

于 2013-04-19T11:27:09.387 に答える