Java EE 6中Seam Resource Servlet的替代品是什么?

时间:2012-09-13 14:01:37

标签: jsf-2 java-ee-6 tomcat7 cdi

在我们之前的Seam 2项目中,我们在web.xml中有以下部分来处理加载静态资源,例如css或img:

  <servlet>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <url-pattern>/seam/resource/*</url-pattern>
  </servlet-mapping>

使用CDI + JSF2时有什么替代品?是否可以使用标准Java EE 6机制完成,还是需要CDI扩展或任何其他附加库?

PS:该项目基于maven并部署在tomcat 7上,所以如果需要一些扩展,我会非常高兴依赖依赖。

1 个答案:

答案 0 :(得分:1)

Seam 2从未成为Java EE 5的一部分,因此Java EE 6中没有“替换”的方法。您可能需要查看Seam 3或Seam 2所具有的任何后续内容。

“静态资源”位于标准servlet容器中,已由容器的内置缺省servlet完全自动且透明地处理。只需将文件直接放在公共webcontent文件夹中(您还可以在其中放置JSP / Facelets文件)。

然而,JSF2有一个新的资源处理机制,它允许在组件/渲染器中使用@ResourceDependency等自动包含资源,但FacesServlet本身和新的JSF 2.0已经考虑到了这一点。 <h:head><h:body>个组件。然而,我不确定这是否与Seam 2的相关,我从未真正使用过Seam。

CDI与此无关,它是一个bean管理API,而不是静态资源管理API。