weblogic上部署应用程序时,web.xml文件编码错误

 一个web项目在tomcat下可以运行,转到weblogic下,在控制台中就报异常信息:

weblogic.application.ModuleException: VALIDATION PROBLEMS WERE FOUND E:\bea\user_projects\domains\base_domain\.\autodeploy\MyApp\WEB-INF\web.xml:1:5:1:5: problem: No content type provided for validation of a content model.:<E:\bea\user_projects\domains\base_domain\.\autodeploy\MyApp/WEB-INF/web.xml:1:5>

问题分析:

问题一定出在tomcat和weblogic对web.xml的格式处理上,再看“1:5:1:5”,凭感觉应该是1行5列的位置,第一行是:<?xml version="1.0" encoding="UTF-8"?>,

再根据“No content type provided for validation of a content model”可以推断weblogic没有识别出它是一个xml文件。这时候,打开这个web.xml属性多了一句话:Byte Order Mark is UTF-8(BOM)。

查看和转化:

既然一个UTF-8文件可能有BOM,也可能没有,那该如何区分呢?只要用带十六进制编辑方式的软件,例如,用UltraEdit-32打开文件,切换到十六进制编辑模式,察看文件头部是否有EF BB BF。有,则为带BOM方式;无BOM方式:文件头部有3C 3F 78。 
Windows自带的notepad记事本,保存为UTF-8时,默认就带BOM。转换的方法有很多,常见的UltraEdit-32或NotePad++都可以,以UltraEdit-32为例。打开文件后,选择"另存为",在"编码"一栏中,选择“UTF-8 -无BOM”。
另外,DreamWeaver CS3也有类似的选项,在"首选项"中,如果选择 Unicode (UTF-8) 作为默认编码,则可以选择"包括 Unicode 签名 (BOM)"选项,以在文档中包括字节顺序标记 (BOM)。否则,不带BOM:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值