16240


現在、servletで

[code]

          <error-page>
            <error-code>404</error-code>
            <location>/エラーページ.jsp</location>
          </error-page>
    
          <error-page>
            <error-code>405</error-code>
            <location>/エラーページ.jsp</location>
          </error-page>
    
[/code]

という設定をしており、ページ遷移後に何のエラーによって遷移してきたかを判断したいと考えております。  
そのために、エラーコードまたはエラー名をエラーページ.jspで取得したいのですが、方法が分かりません。  
解決方法の分かる方がいましたらご教授をお願いします。

また、<%= exception
%>やリクエストの中身には、目的のデータは格納されていないようでした。servletの設定方法で、パラメータを渡す設定が出来ないか調査しています。


CC BY-SA 3.0
2015-09-04T05:41:16.173
16226
2015-09-04T08:03:49.860
2015-09-04T05:52:13.000
7626
7626
question
jsp exception servlet
servlet <error-page>によって、エラー用JSPに遷移した時にエラーコード、またはエラー名を受け取りたい


エラー用のJSPファイルのヘッダにて、

[code]

    <%@ page isErrorPage="true" %>
    
[/code]

とすることで、JSP内で 暗黙オブジェクトである exception が扱えるようになります。  
exceptionオブジェクトには、サーブレットやJSPで発生した例外が入っていますので、例外クラスによって表示を切り替えるのも可能でしょう。

ただし、exceptionで拾うのはサーブレットやJSPなどJava内で発生した例外を扱うものです。  
具体的な例を挙げると、HTTPレスポンスコード404のようにリソースが存在しないURLを指定した場合にはサーブレットが実行されませんので適しません。

以下の記事も参考にしてください。

2.5. exception - Techscore様  
<http://www.techscore.com/tech/Java/JavaEE/JSP/2-5/>


CC BY-SA 3.0
2015-09-04T05:54:58.397
16228
2015-09-04T05:54:58.397
5778
16226
answer


error-pageで制御せず、servletでfilterを設定します。  
filterで指定したクラス内の処理で、リクエストにエラー文言を入れます。

error-pageを使用していないので、エラー種別はjava側で判定し割り出すしかないです。  
例えあ、アクセスURL内に特定の文言が含まれていない場合は不正アクセスとする など・・


CC BY-SA 3.0
2015-09-04T08:03:49.860
16240
2015-09-04T08:03:49.860
7626
16226
answer