用了书上的例子,在MYECLIPSE里面运行SSH例子(STRUCT2)
出现下面的错误:
2010-4-17 16:56:38 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Action class [loginAction] not found - action - file:/C:/Program%20Files/Tomcat%206.0/webapps/end/WEB-INF/classes/struts_login.xml:7:44
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:374)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2010-4-17 16:56:38 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-4-17 16:56:38 org.apache.catalina.core.StandardContext start
严重: Context [/end] startup failed due to previous errors
2010-4-17 16:56:38 org.apache.catalina.core.ApplicationContext log
信息: Shutting down log4j
2010-4-17 16:56:38 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.XmlWebApplicationContext).
log4j:WARN Please initialize the log4j system properly.
2010-4-17 16:56:38 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2010-4-17 16:56:38 org.apache.catalina.loader.WebappClassLoader clearReferencesStopTimerThread
严重: A web application appears to have started a TimerThread named [Timer-0] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly cancelled. 
2010-4-17 16:56:38 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@cd51ad]) and a value of type [com.opensymphony.xwork2.inject.InternalContext[]] (value [[Lcom.opensymphony.xwork2.inject.InternalContext;@1ad5d46]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
2010-4-17 16:56:38 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@c6a3a0]) and a value of type [org.dom4j.DocumentFactory] (value [org.dom4j.DocumentFactory@12088db]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
2010-4-17 16:56:38 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [com.opensymphony.xwork2.ActionContext.ActionContextThreadLocal] (value [com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal@1bed3d1]) and a value of type [com.opensymphony.xwork2.ActionContext] (value [com.opensymphony.xwork2.ActionContext@1444356]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
有一个帖子跟我一样的错误,不过发帖的人没说怎么解决的。
http://topic.csdn.net/u/20100415/11/a3a49c98-480c-4893-975b-ba4b02aa1e42.html

解决方案 »

  1.   

    我的SPRING配套文件中代码:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
    <beans >
    <bean id ="dataSource" class ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/test" />
      <property name="username" value="root" /> 
    <property name="password" value="111111"/> 
    </bean> 
    <bean id="exampleHibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
      <property name="properties">
        <props>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    <prop key="hibernate.query.substitutions">true 'T', false 'F'</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.c3p0.minPoolSize">5</prop>
    <prop key="hibernate.c3p0.maxPoolSize">20</prop>
    <prop key="hibernate.c3p0.timeout">600</prop>
    <prop key="hibernate.c3p0.max_statement">50</prop>
    <prop key="hibernate.c3p0.testConnectionOnCheckout">false</prop>
        </props>
      </property>
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="show_sql">true</prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>
    com/ssh/books/model/Books.hbm.xml
    </value>
    <value>
    com/ssh/login/model/User.hbm.xml
    </value> </list>
    </property>
    </bean>
    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
    </bean>

    <bean id="transactionInterceptor"
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager" ref="transactionManager" />
    <property name="transactionAttributes">
    <props>
    <prop key="isLogin*">
    PROPAGATION_REQUIRED,readOnly
    </prop>
    <prop key="update*">
    PROPAGATION_REQUIRED
    </prop>
    <prop key="add*">
    PROPAGATION_REQUIRED
    </prop>
    <prop key="delete*">
    PROPAGATION_REQUIRED
    </prop>
    </props>
    </property>
    </bean>
    <bean id="proxyUserService"
    class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="beanNames">
    <list>
    <value>userService</value>
    <value>bookService</value>
    </list>
    </property>
    <property name="interceptorNames"
    value="transactionInterceptor" />
    </bean>
    <import resource="book_beans.xml"/>  
    <import resource="login_beans.xml"/>  
    </beans>
    login_beans.xml<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        <!-- view -->
    <bean id="loginAction" class="com.ssh.login.web.actions.LoginAction">
    <property name="userService" ref="userService" />
    </bean>
    <!-- Services -->
    <bean id="userService" class="com.ssh.login.service.UserServiceImpl">
    <property name="userDao" ref="userDao" />
    </bean>
    <!-- DAO -->
    <bean id="userDao" class="com.ssh.login.dao.hibernate.UserDaoImpl">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    </beans>struct_login.xml:<?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    <package name="com.ssh.login" extends="struts-default">
    <action name="Login" class="loginAction">
    <result name="success">/index.jsp</result>
    <result name="error">/error.jsp</result>
    </action>
    </package>
    </struts>找不到的类就是loginAction.
      

  2.   

    上面地址写错了,跟我的问题一样,而又没有写出解决办法的是这个帖子:
    http://topic.csdn.net/u/20100108/16/a3cd5b59-e4b5-4b33-9af1-2d348f47395b.html?seed=1808345353&r=64748182#r_64748182
      

  3.   

    所用到的STRUCTS包有:
    freemaker-2.3.8.jar.
    vxwork-2.0.7.jar
    dom4-1.7.jar
    struct2-core-2.0.14.jar
    common-logging-1.0.4.jar
    ognl-2.6.11.jar
    总共6个.
      

  4.   

    不知道你的问题解决没有。我今天又碰到了一个同样的,你看一下:
    http://topic.csdn.net/u/20100419/13/31d7582c-f822-46a2-a9b5-6053108bb867.html
    不好意思,刚刚看到你的留言