我想开发一个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应用程序版本="4.0"?JSP规范2.3:我应该设置什么?EL 3.0规范:这是否意味着我必须在faces-config.xml文件中设置faces-config version="3.0"?
谢谢!
Servlet Spec 4.0:这意味着我必须设置web应用程序版本="4.0〃;在web.xml文件中
是。
JSP规范2.3:我应该设置什么
什么都没有。JSP版本与Servlet版本并驾齐驱。因此4.0
的web.xml
可以激活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>
EL3.0规范:这是否意味着我必须设置faces-config-version="3.0〃;在faces-config.xml文件中
绝对不是。EL不是JSF。EL版本也与Servlet版本并驾齐驱。因此CCD_ 4的CCD_ 3可以激活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服务器,而不是一个基本的servlet容器。然后,您就不需要手动安装目标servlet容器不支持的单个JEE工件。
另请参阅:
- 如何通过Maven正确安装和配置JSF库
- 如何在Tomcat上安装和使用CDI
- Java EE究竟是什么