带有Tomcat的JSF WebApp(哪个版本?)



我想开发一个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.0web.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究竟是什么

相关内容

  • 没有找到相关文章

最新更新