说明:错误提示如下,只是这一个项目出现此问题,其他项目正常。2013-8-18 17:54:56 org.springframework.web.context.ContextLoader initWebApplicationContext
严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [E:\Document\apache-tomcat-5.5.23\webapps\train\WEB-INF\classes\hibernate.cfg.xml]; nested exception is java.net.ConnectException: Connection timed out: connect
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:852)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:718)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1192)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1089)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1002)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:73)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:394)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
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(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:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)HibernateTomcatXML异常

解决方案 »

  1.   

    其中的hibernate.cfg.xml配置文件如下:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools.-->
    <hibernate-configuration> <session-factory>
    <property name="dialect">
    org.hibernate.dialect.MySQLDialect
    </property>
    <property name="connection.url">
    <![CDATA[jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk]]>
    </property>
    <property name="connection.username">root</property>
    <property name="connection.password">123</property>
    <property name="connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <property name="show_sql">true</property>
    <property name="format_sql">true</property> <mapping resource="com/assf/ticket/domain/Train.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Note.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Business.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Work.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Ticket.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Passenger.hbm.xml" />

    </session-factory></hibernate-configuration>
      

  2.   

    数据库可以正常访问,且其他项目的hibernate.cfg.xml可以正常连接到MySQL数据库。
      

  3.   

    其中的hibernate.cfg.xml配置文件如下:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools.-->
    <hibernate-configuration><session-factory>
    <property name="dialect">
    org.hibernate.dialect.MySQLDialect
    </property>
    <property name="connection.url">
    <![CDATA[jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk]]>
    </property>
    <property name="connection.username">root</property>
    <property name="connection.password">123</property>
    <property name="connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <property name="show_sql">true</property>
    <property name="format_sql">true</property><mapping resource="com/assf/ticket/domain/Train.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Note.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Business.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Work.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Ticket.hbm.xml" />
    <mapping resource="com/assf/ticket/domain/Passenger.hbm.xml" /></session-factory></hibernate-configuration>
      

  4.   

    数据库可以正常访问,且其他项目的hibernate.cfg.xml可以正常连接到MySQL数据库。
      

  5.   

    <property name="connection.url">
    <![CDATA[jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk]]>
    </property>
    简单的文件干嘛要用工具生成?改为
    <property name="connection.url">
    jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk
    </property>
      

  6.   

    获取hibernate 的dtd文件超时了。试着改为本地的看看。
      

  7.   

    浏览器 打开i  http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd 看是否超时?
      

  8.   

    按照你的说法,在浏览器中打开http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd显示网页无法访问。注:网路正常,可打开其他网页。
      

  9.   

    检查测试下吧,先把数据库连接localhost改为IP试下,还不行就把连接?号后面的那串编码去掉试试,还不行就把数据库连接的代码删掉看下还报错没,要是没报错就 说明可能是数据库连接的问题了,可以换个连接驱动试试,要是还报错的话 ,自个去建个小东西用Hibernate测试下连接!~
      

  10.   

    我另外还有个项目也是用Hibernate连接MySQL数据库,基本上都是一样的。那个项目连能上这个却连不上。
    我甚至直接把那个项目的hibernate.cfg.xml文件拷贝下来改成这个项目的,但还是不好用。
      

  11.   

    web.xml文件咧??web.xml文件里面不是要配ContextLoaderListener的吗!!
      

  12.   

    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
      

  13.   

    hibernate.cfg.xml 的头和你当前框架的jar版本不符,找一个你所谓的“其它能正常运行的项目的”hibernate.cfg.xml 对比头部。
      

  14.   

    你把数据库的映射属性给注释了,tomcat启动的时候不能连到数据库,肯定报错
      

  15.   

    按你说的把hibernate.cfg.xml中的映射属性mapping给注释了,还是不行。
      

  16.   

    我把别的项目从Tomcat服务器里删掉了,还是不行。
      

  17.   

    <property name="connection.url">
    <![CDATA[jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk]]>
    </property>
    改成<property name="connection.url">
    jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gbk
    </property>我想是因为你使用了CDATA这个的原因,使用了CDATA在解析xml文件时候,所有的都会解析。加了这个就不解析了。你试试
      

  18.   

    把hibernate.cfg.xml配置文件中:
    http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
    改成:
    http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd
    试试。
    或者等明天再启动,就好了