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">