将icefaces 1.8项目转换为Icefaces 3.0

阿米达(Amitabh Ranjan)

我有一个在icefaces 1.8 / JSF1.2中构建的项目,我需要将其转换为icefaces 3.0。这是我第一次进行此转换过程,遇到很多困难。我是Icefaces的新手(事实上,我已经15天才第一次接触它),所以请问我任何愚蠢的问题。

在许多JAVA论坛的帮助下,我对该项目进行了一些更改,但现在只能停留在一点。我会记下到目前为止所做的更改。(1)已将所有JSP文件转换为XHTML文件。(2)在Faces-config中进行了更改。(3)更改了web.xml(尽管我在这里遇到很多错误)。(4)更改jar文件(这是最困难的部分)。我无法获得正确的罐子,并且在过去的4-5天中都在为这个问题而苦苦挣扎。

在这里,我将发布web.xml(用于原始项目和修改后的项目),以及用于原始项目的jar文件列表。请帮助我正确更改jar文件和修改web.xml,因为这是我遇到的两个问题。

Web.xml(icefaces 1.8上的原始项目)

    xml version="1.0" encoding="UTF-8"
    web-app version="2.5" 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-app_2_5.xsd"

        <context-param>
            <param-name>com.icesoft.faces.concurrentDOMViews</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>com.icesoft.faces.debugDOMUpdate</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>com.sun.faces.validateXml</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
            <param-name>com.sun.faces.verifyObjects</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>com.icesoft.faces.uploadMaxFileSize</param-name>
            <param-value>4048576</param-value>
        </context-param>
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>server</param-value>
        </context-param>
        <context-param>
            <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
            <param-name>com.icesoft.faces.standardRequestScope</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>com.icesoft.faces.synchronousUpdate</param-name>
            <param-value>false</param-value>
        </context-param>
        <filter>
            <filter-name>UploadFilter</filter-name>
            <filter-class>com.sun.webui.jsf.util.UploadFilter</filter-class>
            <init-param>
                <description>The maximum allowed upload size in bytes.  If this is set to a negative value, there is no maximum.  The default value is 1000000.</description>
                <param-name>maxSize</param-name>
                <param-value>1000000</param-value>
            </init-param>
            <init-param>
                <description>The size (in bytes) of an uploaded file which, if it is exceeded, will cause the file to be written directly to disk instead of stored in memory.  Files smaller than or equal to this size will be stored in memory.  The default value is 4096.</description>
                <param-name>sizeThreshold</param-name>
                <param-value>4096</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>UploadFilter</filter-name>
            <servlet-name>Faces Servlet</servlet-name>
        </filter-mapping>
        <listener>
            <listener-class>com.sun.rave.web.ui.appbase.servlet.LifecycleListener</listener-class>
        </listener>
        <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>
            <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>
            <servlet-name>uploadServlet</servlet-name>
            <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet>
            <servlet-name>ExceptionHandlerServlet</servlet-name>
            <servlet-class>com.sun.errorhandler.ExceptionHandler</servlet-class>
            <init-param>
                <param-name>errorHost</param-name>
                <param-value>localhost</param-value>
            </init-param>
            <init-param>
                <param-name>errorPort</param-name>
                <param-value>24444</param-value>
            </init-param>
        </servlet>
        <servlet>
            <servlet-name>ThemeServlet</servlet-name>
            <servlet-class>com.sun.webui.theme.ThemeServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>/xmlhttp/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>*.iface</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>*.jspx</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Blocking Servlet</servlet-name>
            <url-pattern>/block/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>uploadServlet</servlet-name>
            <url-pattern>/uploadHtml</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>/faces/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>*.jsp</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>ExceptionHandlerServlet</servlet-name>
            <url-pattern>/error/ExceptionHandler</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>ThemeServlet</servlet-name>
            <url-pattern>/theme/*</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>Main.jsp</welcome-file>
        </welcome-file-list>
        <error-page>
            <exception-type>javax.servlet.ServletException</exception-type>
            <location>/error/ExceptionHandler</location>
        </error-page>
        <error-page>
            <exception-type>java.io.IOException</exception-type>
            <location>/error/ExceptionHandler</location>
        </error-page>
        <error-page>
            <exception-type>javax.faces.FacesException</exception-type>
            <location>/error/ExceptionHandler</location>
        </error-page>
        <error-page>
            <exception-type>com.sun.rave.web.ui.appbase.ApplicationException</exception-type>
            <location>/error/ExceptionHandler</location>
        </error-page>
        <jsp-config>
            <jsp-property-group>
                <url-pattern>*.jspf</url-pattern>
                <is-xml>true</is-xml>
            </jsp-property-group>
            </jsp-config>

        <resource-ref>
            <description>DataSource Reference</description>
            <res-ref-name>jdbc/Project_name_MySQL</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
        </web-app>

web.xml(更改后)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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-app_2_5.xsd">

    <context-param>
        <param-name>com.icesoft.faces.debugDOMUpdate</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.validateXml</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.verifyObjects</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
        <param-value>-1</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name>
        <param-value>false</param-value>
    </context-param>
    <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/xmlhttp/*</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/icefaces/*</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>ExceptionHandlerServlet</servlet-name>
        <servlet-class>com.sun.errorhandler.ExceptionHandler</servlet-class>
        <init-param>
            <param-name>errorHost</param-name>
            <param-value>localhost</param-value>
        </init-param>
        <init-param>
            <param-name>errorPort</param-name>
            <param-value>24444</param-value>
        </init-param>
    </servlet>
    <servlet>
        <servlet-name>ThemeServlet</servlet-name>
        <servlet-class>com.sun.webui.theme.ThemeServlet</servlet-class>
    </servlet>



    <servlet-mapping>
        <servlet-name>ExceptionHandlerServlet</servlet-name>
        <url-pattern>/error/ExceptionHandler</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ThemeServlet</servlet-name>
        <url-pattern>/theme/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>Main.jsf</welcome-file>

        </welcome-file-list>
    <error-page>
        <exception-type>javax.servlet.ServletException</exception-type>
        <location>/error/ExceptionHandler</location>
    </error-page>
    <error-page>
        <exception-type>java.io.IOException</exception-type>
        <location>/error/ExceptionHandler</location>
    </error-page>
    <error-page>
        <exception-type>javax.faces.FacesException</exception-type>
        <location>/error/ExceptionHandler</location>
    </error-page>
    <error-page>
        <exception-type>com.sun.rave.web.ui.appbase.ApplicationException</exception-type>
        <location>/error/ExceptionHandler</location>
    </error-page>


    <resource-ref>
        <description>DataSource Reference</description>
        <res-ref-name>jdbc/property_manager_MySQL</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>

原始项目中使用的jar文件是

(1)appbase.jar
(2) backport-util-concurrent-2.2_1.jar
(3)commons-beanutils.jar
(4) commons-collections.jar
(5)commons-digester.jar
(6)commons-fileupload-1.2.2.jar
(7)commons-logging.jar
(8)dataprovider-1.0.jar
(9)icefaces-1.8.2.jar
(10)icefaces-bm.jar
(11)icefaces-comps-1.8.2.jar
(12)jsf-api.jar
(13)jsfcl.jar
(14)jsf-impl.jar
(15)json-2.0.jar
(16)jstl.jar
(17)mysql-connector-java-5.1.13-bin.jar
(18)sqlx.jar
(19)standard.jar
(20)webui-jsf-4.4.0.1.jar

在修改过的项目中添加了jar文件

(1)appbase.jar
(2)backport-util-concurrent-2.2_1.jar
(3)commons-beanutils.jar
(4)commons-collections.jar
(5)commons-digester.jar
(6)commons-fileupload-1.2.2.jar
(7)commons-logging.jar
(8)dataprovider-1.0.jar
(9)icefaces.jar
(10)icefaces-ace-2.0.0.jar
(11)icefaces-compat.jar
(12)javax.faces.jar
(13)jsf-api-2.1.3.jar
(14)jsfcl.jar
(15)jsf-facelets.jar
(16)jsf-impl-2.1.3.jar
(17)json-2.0.jar
(18)jstl.jar
(19)jxl.jar
(20)krysalis-jCharts-1.0.0-alpha-1.jar
(21)mysql-connector-java-5.1.13-bin.jar
(22)sqlx.jar
(23)standard.jar
(24)webui-jsf-4.4.0.1.jar

删除icefaces-bm.jar和icefaces-comps-1.8.2.jar后的家伙我面临很多问题,因为我在项目中使用了InputFile功能,却不知道如何更改它。我正在使用icefaces-ace-2.0.0.jar来实现FileUpload功能,但到目前为止它并没有太大帮助。至于icefaces-bm.jar,我还没有找到任何替代方法。请帮助我正确收集JAR文件。

我在运行程序时遇到的错误:-

Oct 17, 2013 11:36:03 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet uploadServlet as unavailable
Oct 17, 2013 11:36:04 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet  threw load() exception
java.lang.ClassCastException: org.icefaces.apache.commons.fileupload.servlet.ServletFileUpload cannot be cast to javax.servlet.Servlet
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

Oct 17, 2013 11:36:06 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Oct 17, 2013 11:36:06 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Oct 17, 2013 11:36:06 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@2ce5a2')
Oct 17, 2013 11:36:42 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet uploadServlet as unavailable
Oct 17, 2013 11:36:42 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet  threw load() exception
java.lang.ClassCastException: org.icefaces.apache.commons.fileupload.servlet.ServletFileUpload cannot be cast to javax.servlet.Servlet
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:530)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1471)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:856)
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:353)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

Oct 17, 2013 11:50:49 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Oct 17, 2013 11:50:49 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Oct 17, 2013 11:51:55 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Oct 17, 2013 11:51:55 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Oct 17, 2013 11:51:55 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@19cc8fd')
Oct 17, 2013 12:01:09 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Oct 17, 2013 12:01:09 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Oct 17, 2013 12:04:53 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Oct 17, 2013 12:04:53 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Oct 17, 2013 12:04:53 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@12d5c20')
Oct 17, 2013 12:21:48 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Oct 17, 2013 12:21:48 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Oct 17, 2013 12:22:55 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Oct 17, 2013 12:22:55 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Oct 17, 2013 12:22:55 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@1e820d7')
Oct 17, 2013 12:29:26 PM org.apache.catalina.session.StandardSession writeObject
WARNING: Cannot serialize session attribute com.sun.faces.application.view.activeViewMaps for session B8DA4BD3A0286DE0B3FCA8A7A903EA86
java.io.NotSerializableException: apppropertymanagerface.controller.Page1
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
    at java.util.HashMap.writeObject(HashMap.java:1100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
    at java.util.HashMap.writeObject(HashMap.java:1100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
    at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1671)
    at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
    at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:432)
    at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
    at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5462)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1582)
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1571)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
菲利普·布劳

确保您签出迁移文档的更新版本:http : //www.icesoft.org/wiki/display/ICE/ICEfaces+1.x+Compatibility

首先,您知道icefaces-bm.jar的来源吗?我对此不熟悉。因此,直到您知道它是什么,我都将其省略。另外,请列出您在启动时看到的所有例外情况(我认为该应用程序根本无法启动吗?)。最好升级到最新的ICEfaces 3.3.0版本,包括随附的JSF版本2.1.19。

您可以删除以下上下文参数,因为它们在ICEfaces 3中不再使用:

  • com.icesoft.faces.concurrentDOMViews
  • com.sun.faces.enableRestoreView11Compatibility
  • com.icesoft.faces.standardRequestScope
  • com.icesoft.faces.synchronousUpdate

删除Persistent Faces Servlet及其Servlet映射。

您的欢迎文件应为“ Main.jsf”而不是“ Main.xhtml”。

我不确定JSF 2上旧Sun Rave框架的兼容性。如果您从ICEfaces 3.3.0捆绑包中的ICEfaces Showcase示例war / project重新开始,可能是最好的选择。只需添加您的xhtml页面和Java类。从页面中删除所有的Sun Rave依赖项。

至于文件上传,您是否看过Ace FileEntry的教程和文档?

http://www.icesoft.org/wiki/display/ICE/FileEntry

谢谢菲利普

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Scala收集方法可帮助将[0,0,0,1,1,1,1,0,0,1,1]的列表转换为[3,4,2,2]

python 将列表 [0, 1, 2, 3, 4, 5] 转换为 [0, 1, 2], [1,2,3], [2,3,4]

将Angular 2/3/4/5/6项目转换为Angular Universal

将 3 个 RGB 整数转换为一个 0-1 双精度

将条件转换为数字 0 1

将数组转换为0和1

将'0'...'n'转换为'0''1'至'n'

Swift 3 Firebase 数据检索错误:无法将“__NSCFString”(0x1a8e00d50)类型的值转换为“NSDictionary”(0x1a8e01c78)

将N个项目的列表转换为相对顺序(0-(N-1))?

如何使用“ Faces.includeCompositeComponent”动态添加组件?Websphere 8和ICEFaces 3

将单个 8 位值 (0-255) 转换为 3、8 位值

AutoMapper无法使用ASP.NET Core将List <Model>(1项)转换为List <DTO>(0项)

将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

将(1,1,1)和(0,0,0)以外的BGR通道转换为白色(255,255,255)

将逻辑真/假转换为数字1/0?

根据阈值将NumPy数组转换为0或1

将数据帧转换为 1 和 0

将类别变量列表转换为(0,1)列表

Swift 4-将1或0从mysql转换为bool

将向量差转换为0到1之间

地幔自动将0和1转换为BOOL?

如何将数组转换为0或1个元素?

将0和1的字符串转换为字节

将int转换为0-1 float

熊猫-将值转换为1和0的快速方法

将数值向量转换为0和1

将基因型转换为0/1

将 1 和 0 转换为 Prolog 中的字符列表

根据是否是周末,将日期时间转换为 0 或 1