我在整合ssh的时候在配置文件applicationContext.xml中
<bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass"> <!-- 此处设定为true 可以使DAO是实现类 而不用为接口 -->
   <value>true</value>
  </property>
<property name="beanNames">
<list><!-- 罗列DAO -->
<value>AddressDAO</value>
</list>
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
tomcat就报错:error:listenerStart这个如何解决啊? 谢谢各位了!!!

解决方案 »

  1.   

    有具体错误吗,去tomcat的log下看看
      

  2.   

    web.xml需要配置listenerStart 吧
      

  3.   

    SSH添加顺序是否正确啊? 
    Struts、Spring、Hibernate三个框架在MyEclipse下添加顺序为: 
    首先新建一个Web Project, 添加Add Struts Capabilities…,设置好包路径后继续; 选择MyEclipse菜单下的Add Spring Capabilities…选择所有的标签库,JAR Library Installation位置选择“Copy”项,下一步,设置Spring Bean配置文件位置,一般就默认在SRC目录,点击完成,就添加了Spring,继续; 切换到MyEclipse Database Explorer(数据库浏览器视图),添加一个数据连接,测试连接成功后继续,这一步是为了给下面添加Hibernate框架准备的,因为它在建立过程中需要指定一个有效连接数据库的连接; 选择MyEclipse菜单下的Add Hibernate Capabilities…选择反有的标签库,包括Spring的,JAR Library Installation位置还是选择“Copy”项,下一步;因为之前添加了Spring框架,所以这里就会自动识别到,并询问你使用Hibernate的配置文件“hibernate.cfg.xml”还是使用Spring的配置文件“applicationContext.xml”,这里选择Spring来统一配置,下一步;此处是定义Spring配置文件是需要新建还是使用已存在的Spring配置文件,这里选择Existing Spring configuration file,即使用已存在的Spring配置文件“src/applicationContext.xml”,下方需要指定Hibernate的SessionFactory在Spring配置文件中的Bean ID,使用“sessionFactory”即可,下一步;在DB Profile的下拉列表中选择刚刚建立的连接,并在Bean ID处设置这个DataSource在Spring配置文件中的Bean ID名,这里使用“DataSource”,下一步;接下来的Define SessionFactory properties界面是配置Hibernate的SessionFactory工具类存放位置,设置好包路径后,下一步;点击Finish,就完成了对Struts、Spring、Hibernate三个框架的设置。 这里还需要配置Log4J(日志工具),只需将以下两个文件复制到SRC目录下即可 
    commons-loggingproperties.properties 
    log4j.properties 
    至于这两文件里的具体配置就不再多说。 接下来,先完成JSP页面、ActionForm、及Action的添加,添加过程就不再多说。再就是为数据表添加持久化类,过程是在MyEclipse DataBase Explorer中打开连接,找到所需的表后,鼠标右键点击表名,选择“Hibernate Reverse Engineering…”,设置了包路径后,依次钩选“Hibernate Mapping File”、“Java Data Object”(取消钩选“Create abstract class”)以及“Java Data Access Object(DAO)”,在“Java Data Access Object(DAO)”下会自动钩选“Generate precise findby methods”,以及选择“Spring DAO”选项,使用“Spring DAO”后,在DAO类里转而使用了HibernateTemplate对象来操作数据库,据说可以免去事务管理,具体情况,明天再继续研究。生成完持久化类后,需要在Struts-config.xml文件里添加以下字段: 
    <plug-in className= 
      "org.springframework.web.struts.ContextLoaderPlugIn"> 
        <set-property property= 
          "contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/> 
    </plug-in> 
    Value值就指定了Spring配置文件applicationContext.xml文件具体包位置。 接着在Action中需要做以下操作: 
    导入import org.springframework.web.struts.ActionSupport;包 
    原先Action是继承Action类的,例: 
    public class EmployeeListAction extends Action 
    这里将它改为继承ActionSupport类,例: 
    public class EmployeeListAction extends ActionSupport 生成一个数据表的DAO对象,格式如下: 
    EmployeeinfoDAO empDao=EmployeeinfoDAO.getFromApplicationContext(this.getWebApplicationContext());        
    List empList=empDao.getHibernateTemplate().loadAll(Employeeinfo.class);    如此就完成了读取一个数据表里所有字段的操作,是不是很简单呢?
      

  4.   

    我在web.xml也配置了<listener>
       <listener-class>
       org.springframework.web.context.ContextLoaderListener
       </listener-class>
      </listener>
    就是不能在applicationContext.xml中添加上面的《bean》 不加的时候是没有问题的。 只要加上了 tomact就出错
     tomcat的日志:
    警告: Settings: Could not parse struts.locale setting, substituting default VM locale
    2008-7-31 12:31:59 org.apache.struts2.config.BeanSelectionProvider register
    信息: Loading global messages from coreMsgs_zh_CN
    2008-7-31 12:31:59 com.opensymphony.xwork2.util.OgnlUtil internalSetProperty
    警告: Caught OgnlException while setting property 'name' on type 'lee.AuthorityInterceptor'.
    ognl.NoSuchPropertyException: lee.AuthorityInterceptor.name
    at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:132)
    at com.opensymphony.xwork2.util.OgnlValueStack$ObjectAccessor.setProperty(OgnlValueStack.java:68)
    at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
    at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
    at ognl.SimpleNode.setValue(SimpleNode.java:246)
    at ognl.Ognl.setValue(Ognl.java:476)
    at com.opensymphony.xwork2.util.OgnlUtil.setValue(OgnlUtil.java:186)
    at com.opensymphony.xwork2.util.OgnlUtil.internalSetProperty(OgnlUtil.java:360)
    at com.opensymphony.xwork2.util.OgnlUtil.setProperties(OgnlUtil.java:76)
    at com.opensymphony.xwork2.util.OgnlUtil.setProperties(OgnlUtil.java:103)
    at com.opensymphony.xwork2.util.OgnlUtil.setProperties(OgnlUtil.java:90)
    at org.apache.struts2.impl.StrutsObjectFactory.buildInterceptor(StrutsObjectFactory.java:54)
    at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:57)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildInterceptorList(XmlConfigurationProvider.java:499)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:343)
    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:201)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    2008-7-31 12:31:59 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
    信息: Setting DefaultObjectTypeDeterminer as default ...
    2008-7-31 12:32:04 org.apache.catalina.core.StandardContext start
    严重: Error listenerStart
    2008-7-31 12:32:04 org.apache.catalina.core.StandardContext start
    严重: Context [/zjAddress] startup failed due to previous errors
    2008-7-31 12:32:05 org.apache.coyote.http11.Http11BaseProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2008-7-31 12:32:05 org.apache.jk.common.ChannelSocket init
    信息: JK: ajp13 listening on /0.0.0.0:8009
    2008-7-31 12:32:05 org.apache.jk.server.JkMain start
    信息: Jk running ID=0 time=0/94  config=null
    2008-7-31 12:32:05 org.apache.catalina.storeconfig.StoreLoader load
    信息: Find registry server-registry.xml at classpath resource
    2008-7-31 12:32:06 org.apache.catalina.startup.Catalina start
    信息: Server startup in 25969 ms
      

  5.   

    那可能是整合问题,SSH整合是有顺序的
      

  6.   

    Caught OgnlException while setting property 'name' on type 'lee.AuthorityInterceptor'. 
    ognl.NoSuchPropertyException: lee.AuthorityInterceptor.name 表示AuthorityInterceptor类里面没有name属性,你检查一下吧
      

  7.   

    我把事物代理的配置修改成别的就好了
    修改为:
    <bean id="myTransactionManager"  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     <property name="sessionFactory">
     <ref bean="sessionFactory" />
    </property>
     </bean>
     <bean id="AddressDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
      <property name="proxyTargetClass">
       <value>true</value>
      </property>
      <property name="transactionManager">
       <ref bean="myTransactionManager" />
      </property>
      <property name="target">
       <ref local="AddressDAO" />
      </property>
      <property name="transactionAttributes">
       <props>
        
        <prop key="*">PROPAGATION_REQUIRED</prop>
       </props>
      </property>
     </bean> 
    但是这样的配置太麻烦了。 还是请教各位大侠 帮忙看看上面的配置是什么原因造成的错误。 是不是缺少jar包??
      

  8.   

    把spring的lib\cglib下的cglib-nodep-2.1_3.jar放进去试试
      

  9.   

    谢谢各位大侠!!主要的错误还是jar文件的问题。其中有部分的jar文件是没有用的。 我从别的地方cp来一个工程的所有jar文件。把原工程中的全部删除。问题就解决了!!!
      

  10.   

    呵呵,SPRING中的配置是很烦人的,慢慢配把