0

サーブレットをアクション パラメータとして定義した form.html があります。サーブレットはモデル(データベースにアクセスするための単純なJavaクラスDAO)と会話し、レコードが見つからない場合、クラスからサーブレットに委任されたrecordnotfound例外をスローします。そこで、この例外(RecordNotFound)をweb.xmlで定義されたjspページに転送したい

これを達成する方法についてのアイデア。

ありがとう

4

2 に答える 2

0

そのため、<error-page>エントリをweb.xml使用できます。

<error-page>
    <exception-type>com.exampl.RecordNotFound</exception-type>
    <location>/WEB-INF/errorpages/recordnotfound.jsp</location>
</error-page>

サーブレットで行う必要があるのは、スローされた例外をそのままにするか、それがチェックされている場合はServletException.

} catch (RecordNotFound e) {
    throw new ServletException(e);
}

に過度に一般的なエラー ページjava.lang.Throwableまたは のスーパークラスをServletException設定しないでください。つまり、コンテナーはエラー ページの場所を 2 回通過します。1 つ目は正確な例外を使用し、2 つ目は例外が実際に である場合、ServletException代わりにラップされた例外を使用してエラー ページを特定します。

于 2012-12-24T02:58:53.903 に答える
-1

使用する

    request.getRequestDispatcher("/yourJSPFile.jsp").forward(request,response);
于 2012-12-25T04:58:22.647 に答える