【问题标题】:Servlet Faces Servlet is not available (richfaces 4,tomcat 7)Servlet Faces Servlet 不可用(richfaces 4,tomcat 7)
【发布时间】:2011-10-15 11:13:23
【问题描述】:

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

  • JSF2.0
  • JSFKickStartWithoutLibs

我没有对生成的示例进行任何更改。导出的 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 

然后我将 WAR 部署到 Tomcat,没有任何错误。但是启动应用程序(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.

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

【问题讨论】:

    标签: tomcat jsf-2 richfaces


    【解决方案1】:

    您需要捆绑 JSF 实现 jars,即。 jsf-api.jarjsf-impl.jar 在您的 WEB-INF\lib(Mojarra 或 MyFaces)中,因为 Tomcat 没有与 JSF jar 捆绑在一起

    【讨论】:

    • 不错。在 Netbeans 中,您只需要添加库 JSF 2.1
    • AFAIK 可能是这样,因为 Mojarra 2.1.2 及更高版本他们开始发布单个 jar,弃用了两个 jar 方法。早于 2.1.2 的任何内容都包含在两个 jar 包中。
    【解决方案2】:

    项目缺少 JSF jar。我相信基于“JSFKickStartWithoutLibs”模板的项目旨在在 JBoss AS 上运行 - JBoss AS 已经随 JSF jar 一起提供。

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 2012-03-26
      • 1970-01-01
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多