Webページにアクセスする際, サーバー側に何かしらのエラーが発生した場合や, ページを作成しないところに, URLをブラウザにダイレクトでアクセスした場合, ユーザにエラーページが表示されてしまいます。
StackTraceや Not Found が表示されるのも困るので, なんとかしましょう。
1. web.xml の変更(<error-page>の追記)
2. エラーページの作成
Google App Engine のプログラムで行う手順は, 2つです。通常のサーブレットのプログラムを作成するのと同様に, Project\war\WEB-INF\web.xml にerrorpage の設定を追記します。
1. web.xml の変更
以下を追加します。
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
これで, Exception が発生した場合と, 404 Not Found が発生すると, /error.html のwebページに飛びます
RuntimeException (たとえば NullPointerExceptionなど)はふさいでいないです。 これをふさぐべきかはちょっと考えどころですね。
2. エラーページの作成
ex) error.html
<html>
<head>
<title>Error</title>
</head>
<body>
<div>
<p>エラーが発生しました</p>
<p><a href="/index">トップに戻る</a></p>
</div>
</body>
</html>
※トップに帰るリンクを貼るとか, ログイン画面へのリンクを貼るくらいがよいかと。
0 件のコメント:
コメントを投稿