3

私のサーブレットの 1 つで、RequestDispatcher.forward()WEB-INF フォルダーの下のどこかにある静的リソースへの呼び出しを呼び出します。

request
    .getRequestDispatcher( "/WEB-INF/some/path/image.gif" )
        .forward( request, response );

このサーブレットへの移動は、Tomcat、Jetty などの下では正常に機能しますが、WebSphere 7 では機能しません。(ブラウザーとサーバー ログの両方で) 表示されるエラーは次のとおりです。

Error 403: SRVE0190E: File not found: /WEB-INF/some/path/image.gif

最初は、WEB-INF の下のリソースへの内部転送を許可するために、WebSphere に特定の構成が必要になる可能性があると想定していましたが、役に立つものは何もググることができませんでした。

なぜこれが起こるのでしょうか?

前もって感謝します!

4

2 に答える 2

6

WebSphere のサーブレットが WEB-INF にアクセスできるようにするには、exposeWebInfOnDispatchプロパティをに設定する必要があるようです。WebSphereフォーラムtrueからこの回答を得ました。


WebSphere 7 管理コンソールで、

  1. 左側の「サーバー」=>「サーバーの種類」=>「WebSphere アプリケーション サーバー」に移動します。
  2. ページのメイン部分のリストから適切なサーバーを選択してください
  3. 「コンテナの設定」=>「Web コンテナの設定」=>「Web コンテナ」をクリックします。
  4. 右側の「カスタム プロパティ」に移動します。
  5. 新しいプロパティを追加:

    • 名前:exposeWebInfOnDispatch
    • 価値:true
于 2013-12-05T13:24:02.327 に答える