Servlet Faces Servlet不可用(richfaces 4,tomcat 7)

时间:2011-07-28 20:28:00

标签: tomcat jsf-2 richfaces

我正在尝试我的第一个richfaces项目。所以我创建了一个新的JSF项目(使用JBoss Tools eclipse插件),并选择了以下选项:

  • JSF2.0
  • JS​​FKickStartWithoutLibs

我没有对生成的样本进行任何更改。导出的WAR文件包含以下库

  /WEB-INF/lib/common-annotations.jar   
  /WEB-INF/lib/commons-beanutils.jar  
  /WEB-INF/lib/commons-collections.jar 
  /WEB-INF/lib/commons-digester.jar  
  /WEB-INF/lib/commons-logging.jar  
  /WEB-INF/lib/cssparser-0.9.5.jar  
  /WEB-INF/lib/guava-r09.zip  
  /WEB-INF/lib/richfaces-components-api-4.0.0.Final.jar  
  /WEB-INF/lib/richfaces-components-ui-4.0.0.Final.jar  
  /WEB-INF/lib/richfaces-core-api-4.0.0.Final.jar  
  /WEB-INF/lib/richfaces-core-impl-4.0.0.Final.jar  
  /WEB-INF/lib/sacjava-1.3.zip  
  /WEB-INF/lib/standard.jar 

然后我将Tom部署到WAR,没有任何错误。但是启动应用程序(index.html正确地重定向到/pages/inputname.jsf)会导致Web浏览器出现以下错误。 catalina.out

中没有错误
HTTP Status 404 - Servlet Faces Servlet is not available

type Status report

message Servlet Faces Servlet is not available

description The requested resource (Servlet Faces Servlet is not available) is not available.

由于我没有对生成的示例项目进行任何更改,因此我猜有一些缺少的库。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:7)

你需要捆绑JSF实现jar即。 jsf-api.jarjsf-impl.jar位于WEB-INF\lib(Mojarra或MyFaces)中,因为Tomcat没有捆绑JSF jar

答案 1 :(得分:2)

该项目缺少JSF jar。我相信基于'JSFKickStartWithoutLibs'模板的项目打算在JBoss AS上运行 - 它已经随JSF jar一起提供。