【问题标题】:JSF WebApp with Tomcat (which version?)带有 Tomcat 的 JSF WebApp(哪个版本?)
【发布时间】:2020-06-14 15:54:52
【问题描述】:

我想开发一个 JSF 2 Web 应用程序,但我对设置环境文件感到困惑,即 web.xml 和 faces-config.xml

我想使用 JSF 2 (.xhtml)、Tomcat 9.0 和 Open JDK 11.0.2

我看过这个页面:http://tomcat.apache.org/whichversion.html,但我不清楚这些列的确切含义,特别是(对于 Tomcat 9.0.31 行)

Servlet Spec 4.0:这是否意味着我必须在 web.xml 文件中设置 web-app version = "4.0"? JSP Spec 2.3:我应该设置什么? EL 3.0 规范:这是否意味着我必须在 faces-config.xml 文件中设置 faces-config version = "3.0"?

谢谢!

【问题讨论】:

    标签: tomcat jsf version


    【解决方案1】:

    Servlet Spec 4.0:这是否意味着我必须在 web.xml 文件中设置 web-app version = "4.0"?

    是的。

    JSP Spec 2.3:我应该设置什么?

    什么都没有。 JSP 版本与 Servlet 版本齐头并进。所以web.xml4.0 可以激活JSP 2.3。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
        xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0"
    >
        <!-- Config here. -->
    </web-app>
    

    EL 3.0 规范:这是否意味着我必须在 faces-config.xml 文件中设置 faces-config version = "3.0"?

    绝对不是。 EL 不是 JSF。 EL 版本也与 Servlet 版本齐头并进。所以web.xml4.0 可以激活EL 3.0。

    faces-config.xml 版本表示 JSF 版本。但是 Tomcat 根本没有附带 JSF。您必须手动安装它。当前可用的最新 JSF 版本为 2.3,因此您必须将 faces-config.xml 设置为 2.3

    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config
        xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
        version="2.3"
    >
        <!-- Config here. -->
    </faces-config>
    

    请注意,Tomcat 也没有开箱即用地附带 JSTL 和 CDI,而 JSF 也需要它们。因此,您还必须手动安装它们。或者,更好的是,只需选择一个普通的 JEE 服务器而不是准系统 servletcontainer。然后,您无需手动安装目标 servletcontainer 不支持的单个 JEE 工件。

    另见:

    【讨论】:

    猜你喜欢
    • 2020-06-28
    • 2013-09-11
    • 1970-01-01
    • 2018-04-02
    • 2012-01-29
    • 2015-04-11
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    相关资源
    最近更新 更多