web.xml引入 xml (tomcat 7.0.52) 以上版本报错!

今天在搞工作流,tomcat7.0.57 总是报错,解析不了web.xml引用的joa.xml .

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app

[<!ENTITY joa SYSTEM  "joa.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"

version="3.0">

后经查找资料发现:

tomcat 7.0.52开始的版本才会出这个问题,

是因为安全的考虑tomcat 7.0.52开始的版本把xmlBlockExterna属性默认为false,要解决这个问题,

两种方法:

1、把tomcat版本换成7.0.52之前的版本。

2、把xmlBlockExterna设成false。

下面是原版解释:

As per discussion with Tomcat developers, xmlBlockExternal="false" 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。

<Context  xmlBlockExternal="false" >

<!-- Default set of monitored resources -->

<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->

<!--

<Manager pathname="" />

-->

<!-- Uncomment this to enable Comet connection tacking (provides events

on session expiration as well as webapp lifecycle) -->

<!--

<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />

-->

</Context>

解决完这个问题后,又出现了一个新问题:

Tomcat7启动报错:

Caused by: java.lang.NoClassDefFoundError:
Lorg/apache/AnnotationProcessor;

之后查找资料解决方法:

在项目下创建org.apache:

package org.apache;

import java.lang.reflect.InvocationTargetException;

import javax.naming.NamingException;

/**

* @author 董志博

* @date  2015-8-17

* @description

* @Version 1.0

*/

public interface AnnotationProcessor {

public void postConstruct(Object instance) throws IllegalAccessException,

InvocationTargetException;

public void preDestroy(Object instance) throws IllegalAccessException,

InvocationTargetException;

public void processAnnotations(Object instance)

throws IllegalAccessException, InvocationTargetException,

NamingException;

}

由于时间问题,还未了解原因。待续.......

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 02:57:08

web.xml引入 xml (tomcat 7.0.52) 以上版本报错!的相关文章

Druid “loopWaitCount 0, wait millis 6001” 报错

今天总结下自己使用Druid遇到的一个错误"loopWaitCount 0, wait millis 6001" 报错信息: Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException:  Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException:  loopW

cocos2d-js 3.0 rc0 编译release报错 value for keystore is not valid. it must resolve to a single path

第一次编译是好好的,需要手工输入keystore文件地址和密码等等.第二次不需要输入,然后就直接出错了.   找了一下,发现第一步之后,cocos会记录ant信息到\frameworks\runtime-src\proj.android\ant.properties   打开这个文件发现: key.store=e:\cocos_projects\android.keystore 斜杠都少了一个,只需要改为 key.store=e:\\cocos_projects\\android.keystor

appium在android 7.0真机上运行报错command failed shell:............ps:&#39;uiautomator&quot;的解决方式

appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib 2.打开adb.js,可使用notepad++编辑器等打开文件(说明:在修改代码的时候先注释掉以前的代码,并且添加自己容易识别的标记,以防出错后还有回旋的余地,或者将代码备份也可行),找到如下代码: ADB.pro

关于Code Blocks无编译器版本及VC6.0插入、打开报错

CodeBlocks运行C成功,编译C++一直报错:fatal error:stdlib.h:no such file or directory.下载重装了几次Code Blocks无编译器版本以及MINGW.看了很多教程,并不能解决问题.据说是版本对不上,于是重置电脑,安装带有编译器的版本成功运行.至于具体原因有待探究. 另VC6.0插入.打开报错,微软官方之前给出了相应插件,不过现已失效.使用百度引擎找到免费.便捷的链接并不容易.为了方便大众,现将链接附上. https://pan.baid

native 链接 mysql 8.0以上版本 报错2059

MySQL版本是8.0.4  由于新版本的MySQL新特性导致的. mysql> select Host,User,plugin from mysql.user; +-----------+------------------+-----------------------+ | Host | User | plugin | +-----------+------------------+-----------------------+ | localhost | mysql.infoschem

java_tomcat_the_APR based Apache Tomcat 小喵咪死活启动报错_临时方案

报错信息如下: 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.6.0_33\bin; 造成结果: IDE中无法加载web项目 ,不方便调试. 解决步奏: 1 百度之,各种tcnative-1.dll

Eclipse-Mars Release (4.5.0)创建Maven项目报错

1.Eclipseb版本为Mars Release (4.5.0) 2.报错内容 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved:.................................... 3.解决方法 找到本地仓库位置,将仓库中的/org/apache

Haproxy: web前段调用后面的mysql数据,不定期的报错

在部分12580项目中,我引入了haproxy做为软负载.主要为一些非关键性的业务提供服务.架构比较简单.两台web前段,通过haproxy调用后端的两台mysql(slave),主要用于搜索.不写入数据. 自从上线后,开发人员就偶尔反馈说,有时打开web页面查询数据,报错如下: HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreate

android studio 1.5升级到2.0或2.1报错

早一周前,事情终于不多了,没事升级下新版本,有1.5升级到2.0. 升级完成安装后,本来能够在android studio 1.5中好好运行的代码,在升级后,通过clean->make->run后, 应用居然崩溃了,崩溃了...哭死我了...好好的代码居然升级版本后崩溃了... 然后查看崩溃日志,发现是这样: 大概的错误是欢迎界面的xml布局第7行报错... 再看具体的,居然是在不到IamgeView的id,吓死宝宝了,clean.make都没有报错,居然还会找不到id?特么打死我,你看我信不