私はここで Java Web プロジェクトの問題に直面しています。私が取り組んでいるプロジェクトは、標準の jsp と jsf ページを混同して作成されています。main.jsp と呼ばれるアプリケーションのメイン ページは、ユーザーの認証を確認するために使用されるサーブレット フィルター内に作成されたセッション スコープを持つマネージド Bean にアクセスする必要がある標準の jsp ページです。私のweb.xmlでは、facesエンジンが.jsfおよび/faces/*リクエストに応答する必要があるように設定しました
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
アプリケーションを開くと、http//myserver/myapp/faces/main.jsp
すべて正常に動作します。でアプリケーションを開くとhttp://myserver/myapp/main.jsp
、faces コンテキストがまだ作成されていないため、エラーが発生します。ウェルカム ページを設定することも、Apache リダイレクトを設定することもありません。ユーザーがブラウザで h**p://myserver/myapp と入力するだけで、アプリケーションが適切なページ (faces コンテキスト内の main.jsp) を開くことができます。これは、ページ /faces/main.jsp が物理的に存在しないためです。
私は2つの解決策があると思います.facesコンテキストを/faces/*パターンの外でも開始できるようにするか、ページが存在しない場合でもTomcatを/faces/main.jspにリダイレクトさせる方法を見つける.. .しかし、私が試みたすべてに失敗しました。