Pastieがダウンしているようです(ファイルを読み取ることができません)...しかし、Tomcatは完全なJavaEEコンテナーではありません。Mojarraランタイムが必要です。ビルドに含まれていますか?
編集:NMそれは戻ってきました。web.xmlにJSFサーブレットが表示されているので、この回答は無視してかまいません。
EDIT2:これをweb.xmlに追加します:
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
次に、.htmlファイルの名前を.xhtmlに変更します。サーブレットは、JSFを使用してファイルをレンダリングすることになっていることを知らなかったように感じます。
EDIT3:それで、何が起こっているのかというと、サーバーがFacesを使用してページをレンダリングする必要があるかどうかについてサーバーを混乱させていると思います。URLバーのURLは「localhost/app / faces / index.html」で、ファイルと完全に一致します。では、sendfileを実行する必要がありますか、それともサーブレットを介して実行する必要がありますか?.xhtmlへの名前変更が機能した可能性が高い理由は、.htmlリクエストを.xhtmlファイルにマップする必要があることを内部的に認識していたためです。
したがって、ファイルの名前を.html5に変更してから、web.xmlでこれを設定してみてください。
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.html5</param-value>
</context-param>
どの拡張機能でも機能すると思います...次の組み合わせも可能です。
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.html</param-value>
</context-param>
次に、あなたのホームページはhttp://localhost/app/index.jsf