新手,第一次发帖,接触JAVAWEB一个半月。eclipse用的够呛,基本是自学阶段。
问题:tomcat可以启动,程序加载不了!
我的操作:有一个搭好的SSH框架,我填完代码,启动tomcat,运行工程,成功。关闭tomcat,关闭这个工程。然后我想实现另外的一个功能,就复制这个工程,在里面改代码,启动tomcat,运行工程,出错。出错代码:2011-6-3 9:26:03 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'specimenManagerAction': Injection of resource methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'specimenManagerService': Injection of resource methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'specimenManagerDao': Injection of resource methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in ServletContext resource [/WEB-INF/config/spring-main.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/config/spring-main.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: persistent class not known: jky.culicidae.specimen.pojo.Student

解决方案 »

  1.   

    查看项目是否已经部署到Tomcat上了...
      

  2.   

    因为你Spring的监听出错了  看看是否有SSH的jar存在 在看看是否在Web.xml里面配置Spring监听 建议把配置文件代码贴出来看看
      

  3.   

    部署到了,我在Tomcat里面看到了。我还尝试着把Tomcat的webapps,work里面工程删了,再部署还是没用。感觉tomcat,应该没错。我输入http://localhost:8080的时候会弹出tomcat的界面。
      

  4.   

    貌似缺少很多文件啊,XML那么多错误
    我比较感慨啊,才一个月自学就开始SSH了。。牛人
      

  5.   

    tomcat没错 但是启动报错 是因为你加载web.xml文件时出错 建议把这个文件贴出来看看 还有你的applicationContext.xml
      

  6.   

    估计spring-main.xml配置有些问题了,最好贴出代码来看看;
    还有persistent class not known: jky.culicidae.specimen.pojo.Student
    看看hibernate的配置文件配置是否正确...
      

  7.   

    <!-- spring2.5 configuration -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <!--  <param-value>classpath:beans.xml</param-value> -->
    <param-value>/WEB-INF/config/spring-main.xml</param-value>
    </context-param>
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


    <!-- log4j -->
    <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>microblog.root</param-value>
    </context-param>
    <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/config/log4j.properties</param-value>
    </context-param>
    <listener>
    <listener-class>
    org.springframework.web.util.Log4jConfigListener
    </listener-class>
    </listener>




    <!-- struts2 configuration -->
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>




      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    我检查了下spring 的jar 包也都在,因为我是拷贝的工程。这是出错的下半段代码
    2011-6-3 10:33:58 org.apache.catalina.core.ApplicationContext log
    信息: Set web app root system property: 'microblog.root' = [C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\kayxmjxxxt\]
    2011-6-3 10:33:58 org.apache.catalina.core.ApplicationContext log
    信息: Initializing log4j from [C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\kayxmjxxxt\WEB-INF\config\log4j.properties]
    log4j:WARN No such property [sqlname] in org.apache.log4j.jdbc.JDBCAppender.
    2011-6-3 10:33:58 org.apache.catalina.core.StandardContext start
    严重: Error listenerStart
    2011-6-3 10:33:58 org.apache.catalina.core.StandardContext start
    严重: Context [/kayxmjxxxt] startup failed due to previous errors
    2011-6-3 10:33:58 org.apache.catalina.core.ApplicationContext log
    信息: Shutting down log4j
    2011-6-3 10:33:58 org.apache.catalina.core.ApplicationContext log
    信息: Closing Spring root WebApplicationContext
    2011-6-3 10:34:00 org.apache.coyote.http11.Http11Protocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2011-6-3 10:34:00 org.apache.jk.common.ChannelSocket init
    信息: JK: ajp13 listening on /0.0.0.0:8009
    2011-6-3 10:34:00 org.apache.jk.server.JkMain start
    信息: Jk running ID=0 time=0/78  config=null
    2011-6-3 10:34:00 org.apache.catalina.startup.Catalina start
    信息: Server startup in 18857 ms
      

  8.   

    我中只有一个框架,然后一个框架新建2个工程。先部署一个,运行,关闭工程。另外再部署一个工程,启动,然后就Error listenerStart。删除2个工程,关闭eclipse,在添加新工程,启动继续出错。不知道我描述的你们能懂不?
      

  9.   

    很郁闷,谁能跟我说下SSH的加载流程吗?
      

  10.   

    我给你说加载流程 不知道楼主用的是否是myeclipse开发工具 总之我初学的时候 如果在tomcat下部署了两个SSH项目的话 再启动第2个时候就会报错 建议楼主先将两个都remove掉 再重新加载你需要跑的项目试试 SSH的加载流程是 启动tomcat时会加载web.xml 这个里面配置了Spring的配置文件applicationContext.xml,会加载applicationContext.xml 当你在页面进行请求时 会加载struts.xml文件去找它对应的action,之后会进行持久化操作 SSH中hibernate交给Spring管理了 所以省去了hibernate—cfg.xml
      

  11.   

    10楼的方法是可以的。我试过了,谢谢!
    问题大概就出在拷贝的工程的身上。这个问题我想大概可能还得去弄明白Spring的监听原理。郁闷!还有我的学习方法是不是有问题啊?
    我是先能填action了,在看深层次的东西,还是看完原理再写代码?哎纠结。不过还是要谢谢大家。
      

  12.   

    建议楼主先分别学习Struts Hibernate Spring 搞清楚它们各自的原理之后再整合到一起 做个小例子 加深对流程的理解 结合例子学习比较快 祝楼主学习愉快