您的位置:首页 > 运维架构 > Tomcat

tomcat7.0.52及以上版本web.xml引用外部文件问题

2017-02-03 17:50 911 查看
1、现在我因为servlet很多,我为了方便管理希望能拆分文件。网上搜到的方法是这样的:
        在web.xml文件里webapp标签上方加上
        <!DOCTYPE web-app [<!ENTITY test SYSTEM "../root/conf/web-test.xml">]>,然后webapp标签内使用   &test;  就可以了。
项目中具体见截图:



我测试了一下在tomcat 6下面这个方式确实是可以的,但是在tomcat7下面就报错了。
java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [null], system ID [.
然后我又网上搜了一下,得知tomcat7已经不支持了。

2、 以下是网上找到的答复
【tomcat 7.0.52开始的版本才会出这个问题,是因为安全的考虑tomcat 7.0.52开始的版本把xmlBlockExterna属性默认为true,要解决这个问题,两种方法:
(1)、把tomcat版本换成7.0.52之前的版本。
(2)、把xmlBlockExterna设成false。
下面是原版解释:
As per discussion with Tomcat developers, xmlBlockExternal="true" attribute of Tomcat's Context (context.xml) was

set true by default starting from 7.0.52. With xmlBlockExternal="false"generated/djn-settings.conf can be included】
 但是我现在必须使用tomcat 7,而且我不知道怎么配置xmlBlockExternal

3、解决方法:tomcat安装配置文件context.xml添加false设置
C:\Program Files\Apache Software Foundation\Tomcat7_0_52\conf\context.xml

设置前:<Context >
设置后:<Context xmlBlockExternal="false">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web.xml