0

私は JSF ( JavaSever Faces - Introduction by Example ) に関する本の 1 つを調べていて、次の抜粋を見つけました。

JSF 2.0 より前は、JSF サーブレットが XHTML ページを変換できるようにするために、javax.faces.webapp.FacesServlet クラスとそれに関連付けられたサーブレット マッピング URL を示すサーブレット要素が web.xml ファイルに含まれていることを確認する必要がありました。JSF 2.0 のリリース以降、Servlet 3.x コンテナーを使用する場合、FacesServlet は自動的にマップされるため、web.xml 構成を調整する必要はありません。

試してみることにしましたが、動作せず、404 エラーが発生しました。

web.xml

    <!-- Commenting this out in Glassfish server based on the book's guidelines -->
    <!-- 
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
-->

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>

</web-app>

Glassfish 4.x に移行する前に、私は既に Tomcat 8 でこれを動作させていました。奇妙な部分はFacesServlet、展開記述子のマッピングのコメントを外すとすぐに、すべてがうまく機能し、404 が表示されないことです。

Glassfish 4.xa サーブレット 3.x コンテナーですか? 私のやり方が間違っているのでしょうか、それとも書籍のガイドラインが間違っているのでしょうか?

4

0 に答える 0