java-ee – 如何使用JSF 2.0和EL 2.2为Tomcat 7配置Maven pom?

我想将EL 2.2用于JSF 2应用程序

和tomcat 7一起提供EL 2.2

我对以下内容感到困惑:

1-我应该在我的pom文件中提供servlet-api,jsp-api和EL(使用maven),或者根本不在pom文件中包含它们,因为它们是由容器提供的,有什么区别?

<dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>3.0</version>
          <scope>provided</scope>
         </dependency>


        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
         <groupId>javax.el</groupId>
         <artifactId>el-api</artifactId>
         <version>2.2</version>
         <scope>provided</scope>
       </dependency>

2-他们是否需要将任何库添加到pom文件中才能使用EL 2.2?

3-如本文所述,web.xml中是否需要任何其他配置:

http://code2inspire.wordpress.com/2010/11/05/how-to-enable-el-2-2-on-tomcat-6/

请指教.

最佳答案 >一个不需要包含在pom.xml文件中,因为tomcat已经拥有它.但根据我的经验,当我尝试进行一些servlet编程时,需要在pom中包含servlet-api依赖.就像你说的那样,定义提供的范围,因为它已经在tomcat中,你不希望在构建战争时包含来自pom的servlet-api jar.我的2美分不包括依赖项,只要它正在运行,并包括何时需要,然后在pom.xml中记录它包含的原因.

>我认为您不需要声明任何其他依赖项,只要您的容器已经实现了.我假设tomcat 7确实如此,因为我也使用它,并且我不会在pom依赖中声明任何其他内容以便使用EL 2.x

>从未尝试过,因为我使用t7,但是使用核心jsf第3版书进行交叉检查,是的,那是有效的

点赞