`
凤凰涅磐
  • 浏览: 86562 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

断网时用jdom读取hibernate.cfg.xml的错误

阅读更多

利用jdom解析hibernate.cfg.xml,本来都是在网络状况良好的情况下做的,没有任何错误。断网之后却出现了下面的错误:

       java.net.UnknownHostException: hibernate.sourceforge.net

打开hibernate.cfg.xml一看,原来定义的doctype,

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

 加载xml时,会自动去寻找doctype中的http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd,网络断了,自然就找不到,就报错了。

解决方法有两个:

 

方法一:把 XML 中的 DTD 文件下载至本地,并修改该 XML,使之应用本地的那个 DTD 文件。网络验证改为本地验证

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"hibernate-configuration-3.0.dtd">
<hibernate-configuration>

 

方法二:为 SAXBuilder 对象设置一个返回 new InputSource(new StringReader("")) 的 EntityResolver ,这样加载的时候就不进行DTD验证了,但要自己保证 XML 的合法性。

                                Document document=null;
		
		SAXBuilder bSAX=new SAXBuilder(false);
		bSAX.setEntityResolver(new EntityResolver(){
			public InputSource resolveEntity(String publicId, String systemId) {
				return new InputSource(new StringReader(""));
				}
			});
		
		try{
			document=bSAX.build(youFileInputstream);
		}catch(Exception e){
			e.printStackTrace();
		}

  

分享到:
评论

相关推荐

    Jdom生成hibernate.cfg.xml和读取其中内容

    标题中的“Jdom生成hibernate.cfg.xml和读取其中内容”涉及到两个主要知识点:一是JDOM库在Java中解析和生成XML文档的应用,二是利用JDOM操作Hibernate配置文件`hibernate.cfg.xml`。 首先,JDOM是Java Document ...

    hibernate包jar

    使用Hibernate时,首先需要配置一个`hibernate.cfg.xml`文件,定义数据库连接参数和全局设置。然后,创建实体类,使用注解(或XML文件)指定其与数据库表的映射关系。接下来,通过SessionFactory创建Session对象,...

    Hibernate mysql jar包

    6. **dom4j.jar**或**jdom.jar**:这两个是XML处理库,Hibernate使用它们来读取和写入配置文件。 除此之外,为了运行含有Hibernate的Java应用程序,还需要一些基础的Java EE库,如: - **slf4j-api.jar**和相应的...

    hibernate lib包

    4. **DOM4J或JDOM**:这两个库用于XML解析,Hibernate使用它们读取和写入Hibernate配置文件以及映射文件。 5. **SLF4J(Simple Logging Facade for Java)**和日志实现:Hibernate使用SLF4J进行日志记录,你可以...

    hibernate jar包

    在使用这些jar包进行开发时,你需要在项目的类路径中包含它们,并正确配置Hibernate的配置文件(hibernate.cfg.xml),包括数据库连接信息、实体类的扫描路径、缓存策略等。此外,你还需要在实体类上使用注解(如@...

    hibernate3.3 jar包

    在Hibernate中,它用于解析和生成配置文件,如hibernate.cfg.xml,以及映射文件,如.hbm.xml。 **ehcache-1.3.0.jar** 是一个广泛使用的Java缓存库,Hibernate利用它实现了二级缓存功能,能够提高数据读取速度并...

    2016面试汇总.doc

    Hibernate配置包括主配置文件`hibernate.cfg.xml`,定义数据源、JDBC连接参数等。实体映射文件(如`XXX.hbm.xml`)用于描述Java对象与数据库表的映射关系。 12. **集合存放元素是否有序**: Java集合框架中的`...

Global site tag (gtag.js) - Google Analytics