web.xml引用外部xml文件。以及org.xml.sax.SAXException

很多时候因为各种各样的原因,需要在各种xml文件来引用外部的xml文件。

我遇到了两种,一种是普通配置的xml文件引用外部xml文件。

可以用

<import resource="classpath:tuloginContext.xml" />

这是相对路径,当然,这句代码的位置需要注意。这个在beans下面,与bean平级,如果写错了,会不执行,就会导入出错,或者就是不执行也不报错。

<beans>

<import resource="classpath:tuloginContext.xml" />

<bean></bean>

</beans>

另一种是web.xml引用外部xml文件。这个是我看大神写的。原网站如下。

http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html

我的需求和理解:

因为项目中很多东西需要放到web.xml中部署,或者,有一些相同的代码需要放到不同的web.xml中部署,所以,就用到了web.xml拆分。

根据文章介绍。

需要在文章顶部加上这个:

  <!DOCTYPE web-app
                    [<!ENTITY test SYSTEM  "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">
                    <!ENTITY admin SYSTEM  "admin.xml">]>  
这里的test 和 admin 是自定义的名称。后面两个,分别是相对路径和绝对路径。

记住,是顶部,下面是我写的。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app [<!ENTITY tulogin SYSTEM  "tulogin.xml">]>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_admin" version="3.0">

不能在<web-app>里面,否则会出错的。

错误代码如下:

七月 14, 2015 10:41:53 上午 org.apache.catalina.startup.ContextConfig parseWebXml
严重: Parse error in application web.xml file at jndi:/localhost/file-server/WEB-INF/web.xml
org.xml.sax.SAXException: Scanner State 24 not Recognized
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
	at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1883)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1252)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

其实,就是位置不对,应该放到页面顶部。

在引用这段代码的位置,写这个就可以了

&tulogin;    &  +  你自己定义的名称  +  ;

还有一个问题。

项目部署的时候,会自动执行web.xml。所以,如果一个项目中,引用了另外项目的xml,这个,我不知道怎么解决这个问题。

时间: 2024-09-30 11:43:32

web.xml引用外部xml文件。以及org.xml.sax.SAXException的相关文章

公有云-为什么VS2008平台下,HTML不能引用外部js文件啊

问题描述 为什么VS2008平台下,HTML不能引用外部js文件啊 我在vs2008平台下,创建一个基于CDHtmlDialog的对话框工程,然后再HTML文件中引入外部js文件,就是不成功啊,哪位大神指点一下. 代码如下: <div id="playercontainer"></div> <script type="text/javascript" src="player/cyberplayer.js">&l

java xml引用外部dtd,实体显示不出来

问题描述 这个是外部dtd文件带有实体这个是xml文件这个是报错图下面问题来了,为什么有谷歌和ie浏览器去演示的时候一直无法加载出实体,老报错有什么办法能解决吗? 解决方案 解决方案二:怎么没有人啊求答案

安卓 布局 xml 引用-安卓布局:在activity_main.xml中引用其他几个xml,如何设置weightSum及layout_weight

问题描述 安卓布局:在activity_main.xml中引用其他几个xml,如何设置weightSum及layout_weight 情况是这样的: 我的布局是由几块组成的,所以我创建了几个xml文件,里面写的分别是每一块的布局. 然后在activity_main.xml中引用. 但是不知道如何设置 android:weightSum 和android:layout_weight <LinearLayout android:id="@+id/L2" android:layout_

基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)

1.添加jar 2.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5"  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLoca

将 HTML 文件转换成 XML

xml|转换 在 Java 专家 Michael Geisler 为 Builder 澳大利亚写的第一篇文章中,他向读者展示了如何使用 JTidy 将 HTML 文件转换成 XML. 有关 Java 的最重要的事情是有很多扩展标准库可以作为标准平台的一部分,而且在那些库中有对 XML 提供了非常多的支持.然而对于某些特定的需要,在标准库中可能没有直接的支持. 其实你有两个选择: 完全由自己来构建一些东西.这一般很痛苦,而且很费时间. 去"社区"看看是否已经有人遇到了同样的问题(这种情况

XML技术上传文件-转贴

xml|上传                         XML技术上传文件 概述本文讲解了一个使用XML技术上传文件的例子,使用该方法没有传统方法中的种种限制. 这个例子讲述了如何使用MSXML3.0和ADO Stream对象来实现这种新的上传方法.好处有很多,比如,不需要专用的上传组件. 引言为了在HTML网页中获得上传功能,在客户端我们可以使用如下格式的FORM: <FORM NAME="myForm"ACTION="TargetURL.asp"EN

android 数据...-用sqlitestudio导出的XML格式的数据库文件怎么用。小白求帮助

问题描述 用sqlitestudio导出的XML格式的数据库文件怎么用.小白求帮助 XML格式的数据库文件要放在哪里?怎么用sqliteopenhelper读取?读取后怎么通过simplecursoradapter显示在listview里? 解决方案 有帮助,但不是我想要的答案,积分给自己吧 解决方案二: 放在哪里都可以.如果是用于数据备份,可以放在外部sd卡上. sqliteopenhelper只能读取sqldb的数据库文件,不能解析xml 读取xml:http://www.cnblogs.c

新发现:Windows7能采用Xml格式保存日志文件

现在如果采用了Xml格式来保存日志信息的话,那么系统管理员就可以轻松的把这些日志信息导入到数据库中.在不需要任何调整的情况下,就可以把XML格式的文件直接导入到数据库系统中.由于XML文件可以直接通过浏览器等工具打开,而这个浏览器又往往是操作系统所必备的一个应用软件.所以其查看就会非常的方便. 在Windows操作系统好几个版本中,都可以把系统日志另存为文本文件.CSV文件等等,以方便系统管理员查询.不过同XP操作系统版本不同,在Windows7 中其日志另存为多了一个格式,即Xml格式.如下图

xml文件是什么 xml文件怎么打开

什么是XML? XML是Extensible Markup Language的简写,一种扩展性标识语言.这是标准的定义.那么什么是标志语言,为什么叫 扩展性?已经让人有些糊涂.我想我们这样来理解会好一些:对HTML你已经非常熟悉了吧,它就是一种标记语言,记 得它的全称吗:"Hypertext Markup Language" 超文本标记语言.明白了?同时,HTML里面有很多标签,类似 <head>,<table>等,都是在HTML 4.0里规范和定义,而XML里