私のアプリケーションは Apache MyFaces V2.0 上にあります。アプリケーション サーバーは WebSphere V8.0 です。以下のような URL を使用したセキュリティ テスト中に、アプリケーションはブラウザでエラーをレンダリングし、アプリケーション サーバーの詳細を公開しています。web.xml に以下のエントリがあります。このシナリオを適切に処理するための解決策を提案してください。
Web.xml
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/error.xhtml</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/error500.xhtml</location>
</error-page>
URL
localhost/app/test.xhtml?emailId=test1@abcd.com&clickSubmit=Save&javax.faces.ViewState=83eNclk%2FbIe05NjdSUOQtQqlm5FVhzOBEHXMRHzqXhuC7fG%2BpJS9xRI%2BxN9tCjZIPg2dA3%2B8Xdor%2Bj40Wjiy%2FxO3J%2Bu0lbQJFHXnGNxYwUUh102oPNugRXQAmHNJsjYDnxwh9w%3D%3D
エラー:
エラー ページの例外
SRVE0260E: サーバーは、アプリケーションに指定されたエラー・ページを使用して、以下に出力された元の例外を処理できません。
元の例外:
エラー メッセージ: javax.servlet.ServletException: /app/test.xhtml ビュー ID の保存済みビュー ステートが見つかりませんでした: /app/test.xhtml エラー コード: 500 ターゲット サーブレット: Faces サーブレット エラー スタック: javax.faces.application .ViewExpiredException org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.