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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值