当前位置: 首页 > 知识库问答 >
问题:

ICEfaces:没有为此应用程序异常配置工厂

南宫星波
2023-03-14
  • backport-util-concurrent.jar
  • Commons-Beanutils-1.7.0.jar
  • commons-codec-1.3.jar
  • 通用-集合-3.2.jar
  • Commons-Digester-1.8.jar
  • 常见-发现-0.4.jar
  • commons-fileupload.jar
  • 通用日志-1.1.1.jar
  • fastInfoset.jar
  • icefaces.jar
  • icefaces-comps.jar
  • jstl.jar
  • jxl.jar
  • krysalis-jcharts-1.0.0-alpha-1.jar
  • myfaces-api-1.2.9.jar
  • myfaces-impl-1.2.9.jar
  • standard.jar
  • ui.jar

将它们添加到lib文件夹和构建路径。

我的web.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
  <display-name>HelloWorld(ICE)</display-name>
  <welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.jspx</param-value>
  </context-param>
  <context-param>
    <description>To allow multiple windows for a single application.</description>
    <param-name>com.icesoft.faces.concurrentDOMViews</param-name>
    <param-value>false</param-value>
  </context-param>
  <context-param>
    <description>Turn on/off application-wide synchronous or asynchronous updates.</description>
    <param-name>com.icesoft.faces.synchronousUpdate</param-name>
    <param-value>false</param-value>
  </context-param>
  <context-param>
    <description>Google Maps API key is required if gMap component is used. Sign up for an API key from http://code.google.com/apis/maps/signup.html</description>
    <param-name>com.icesoft.faces.gmapKey</param-name>
    <param-value>ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A</param-value>
  </context-param>
  <context-param>
    <param-name>com.icesoft.faces.uploadDirectory</param-name>
    <param-value>upload</param-value>
  </context-param>
  <context-param>
    <param-name>com.icesoft.faces.uploadMaxFileSize</param-name>
    <param-value>4048576</param-value>
  </context-param>
  <servlet>
    <servlet-name>Persistent Faces Servlet</servlet-name>
    <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Persistent Faces Servlet</servlet-name>
    <url-pattern>*.iface</url-pattern>
    <url-pattern>*.jspx</url-pattern>
    <url-pattern>*.jsf</url-pattern>
    <url-pattern>/xmlhttp/*</url-pattern>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>Blocking Servlet</servlet-name>
    <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Blocking Servlet</servlet-name>
    <url-pattern>/block/*</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>uploadServlet</servlet-name>
    <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>uploadServlet</servlet-name>
    <url-pattern>/uploadHtml</url-pattern>
  </servlet-mapping>
  <listener>
    <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class>
  </listener>
</web-app>
<?xml version="1.0" encoding="UTF-8" ?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2">
  <application>
    <view-handler>com.icesoft.faces.facelets.D2DFaceletViewHandler</view-handler>
  </application>
</faces-config>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
  <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>

      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
      </head>

      <body>
        <jsp:forward page="ICEfacesPage.iface" />
      </body>

      </html>
<?xml version="1.0" encoding="utf-8" ?>
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ice="http://www.icesoft.com/icefaces/component">

  <jsp:directive.page contentType="text/html;charset=utf-8" />

  <f:view>
    <ice:outputDeclaration doctypeRoot="HTML" doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN" doctypeSystem="http://www.w3.org/TR/html4/loose.dtd" />
    <html>

    <head>
      <title>ICEfaces, Ajax for Java EE</title>
      <link rel="stylesheet" type="text/css" href="./xmlhttp/css/rime/rime.css" />
    </head>

    <body>
      <ice:outputText value="Welcome to ICEfaces." />
      <ice:form>
        <ice:panelGroup draggable="true" style="width:200px;border:1px solidblack;">
          <ice:outputText value="Hello World!" />
        </ice:panelGroup>
      </ice:form>
    </body>

    </html>
  </f:view>
</jsp:root>
Servlet.service() for servlet Persistent Faces Servlet threw exception java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all
configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions! If you did that and find nothing, the mistake might
be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml. A typical config looks like this;
<listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:106) at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.
<clinit>(ReceiveSendUpdates.java:38) at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.
  <init>(MainSessionBoundServlet.java:136) at com.icesoft.faces.webapp.http.servlet.MainServlet$3.newServer(MainServlet.java:87) at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.checkSession(SessionDispatcher.java:86) at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:45)
    at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680) at org.apache.jsp.index_jsp._jspService(index_jsp.java:64) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)

我不明白为什么faces-initialization不起作用。请帮我想办法解决这个问题。

非常感谢你抽出时间。

共有1个答案

俞俊逸
2023-03-14

我只需将以下映射添加到web.xml中

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
 类似资料:
  • 我有问题与Facebook帐户登录在我的应用程序。我读到Facebook Doc。我做了脸书医生的所有步骤。 首次在应用程序中使用facebook帐户登录-成功!然后在应用程序中注销。我想用我的facebook帐户再次登录。但是不工作!!我拿了这个例外!请帮帮我! 例外:此应用程序没有配置Android Key哈希。在超文本传输协议中配置应用密钥哈希:developers.facebook.com

  • 我正在使用JBoss开发我的第一个Web应用程序,并以Eclipse Luna和Windfly作为服务器。在WEB-INF中,我找不到web.xml文件。一切正常,应用程序正常工作,但是web.xml设置在哪里?如何更改,例如,类URL关联?请注意,我在编码的类中看不到任何注释。

  • 当我开始我的购买流程的时候,我在测试我的应用程序帐单时,我收到了这个错误信息。我在进入google play商店后看到了这条消息。 我已经通读了所有其他的帖子,这些帖子都是关于这个错误的。

  • 问题内容: 对于用Java编写的监视软件,我考虑使用Google Guice作为DI提供程序。项目需要从外部资源(文件或数据库)加载其配置。该应用程序旨在以独立模式或servlet容器运行。 目前,该配置不包含用于依赖项注入的绑定或参数,仅包含某些全局应用程序设置(JDBC连接定义和关联的数据库管理/监视对象)。 我看到两个选择: 使用另一个库,例如Apache Commons Configura

  • 问题内容: 当我从命令提示符运行Hadoop .jar文件时,它将引发异常,提示没有此类方法StockKey方法。 StockKey是为我自己的密钥类型定义的自定义类。 这是例外: 问题答案: 您必须在键类中提供一个空的默认构造函数。Hadoop使用反射,它无法猜测要馈送的任何参数。 因此,只需添加默认构造函数: