原文链接:http://tjmljw.iteye.com/blog/1500370

启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错信息如下:
--------------------------

05-Dec-2016 20:17:01.903 WARNING [main] org.apache.catalina.startup.Catalina.load Catalina.start using conf/server.xml:
 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
...

...

--------------------------

想起昨天下班前的确是修改了这个文件,遂比较了一下本件的历史版本,发现可疑之处在于追加的中文注释,删除之,问题解决。

上述问题是解决了,但是有没有办法让它支持中文呢,接下来试着把xml头定义中的encoding="utf-8"改成了encoding="gbk",然后再次加入中文注释,启动tomcat成功,应用也可以正常访问。

又有了一个新的疑问,utf-8不支持中文么?答案当然是支持的,为什么encoding="utf-8"的时候会出错,原因在于xml头指定了使用utf8来解释这个文档内容,但是当我使用编辑器编辑这个文档的时候,输入的中文却不是utf8编码(而是ANSI编码),这样自然会出错。解决起来也很容易,使用记事本打开xml文件,输入中文注释,然后选择另存为,在弹出的对话框中选择utf-8编码。或者使用editplus,ultraedit等编辑器打开xml文件,在相关的菜单中修改文件的编码为utf-8格式,然后保存,这样

就可以正常使用中文注释了。

总结,xml头定义中的encoding与xml文件自身的编码不一致会导致文件解释异常。

[转载]tomcat的配置文件server.xml不支持中文注释的解决办法的更多相关文章

  1. 本机tomcat的server.xml被还原的问题及解决办法

    将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...

  2. tomcat 的配置文件 server.xml 详解

    server.xml位于$TOMCAT_HOME/conf目录下,作为整个 tomcat 服务器最核心的配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素 ...

  3. Tomcat的配置文件Server.xml解析

    配置元素说明: 元素名 属性 解释 server port 指定一个端口,这个端口负责监听关闭tomcat 的请求 shutdown 指定向端口发送的命令字符串 service name 指定serv ...

  4. tomcat 的配置文件server.xml 几个端口的作用

    tomcat中server.xml配置文件中几个port的作用和区别 在tomcat的server.xml中有这么几个port,很多人虽然一直在使用tomcat,但是却不知道这几个port各有什么作用 ...

  5. Tomcat的配置文件server.xml叙述

    元素名属性解释 server port 指定一个端口,这个端口负责监听关闭tomcat的请求shutdown  指定向端口发送的命令字符串 servicename          指定service ...

  6. Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.解决办法

    Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...

  7. Server Tomcat v7.0 Server at localhost failed to start.临时解决办法

    错误名:Server Tomcat v7.0 Server at localhost failed to start. 解决办法:去掉下面这句话: (通常在代码开头部分,public class前) ...

  8. 关于Server Tomcat v8.0 Server at localhost failed to start的解决办法

    测试环境: Eclipse Java EE IDE for Web Developers. Version: Luna Service Release 1 (4.4.1)Build id: 20140 ...

  9. Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法

    前言 我在实验进入linux系统启动xwindow server而不启动KDE GNOME等桌面系统时遇到的问题.只启动x server而不启动桌面系统,在xserver之上运行一个全屏的图形界面程序 ...

随机推荐

  1. 移动端web开发,click touch tap区别

    转自: http://blog.csdn.net/sly94/article/details/51701188 移动端用tap时会有穿透问题 一:click与tap比较 click与tap都会触发点击 ...

  2. JavaScript检测对象的类属性

    function classof(o) { if(o === null) { return "Null"; } if(o === undefined) { return " ...

  3. DataSet与DataTable与DataRow的关系

    1. 添加数据: DataRow dr=MyDataSet.Tables["User"].NewRow(); dr["UserName"] = "张三 ...

  4. Linux下双网卡绑定bond0

    一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑 ...

  5. WIN7下安装visualC++2008 redistributable 出现1935错误的解决办法(转自)

    转自:http://zhidao.baidu.com/link?url=jylNh_JeANi4wrOMmd4d2i06e_N3QCw7z6BLGiNNNTu1Hc6ADTkUq2PORExKmjtk ...

  6. C# 常用代码

    学习备忘 1.判断程序是否运行 static void Main() { bool canCreateNew; System.Threading.Mutex myownmutex = new Syst ...

  7. javascript随机打乱数组

    var arr=[]; ;i<;i++){ arr[i]=i; } arr.sort(function(){ return 0.5 - Math.random() }) var str=arr. ...

  8. rt3070 驱动异常问题

    新买的 Wi-Fi 网卡插在板子上,不能用.dmesg 查看,看到下面的内容. [ 9.501098] phy0 -> rt2x00lib_request_firmware: Error - F ...

  9. 统一的Json组件和csv下载组件

    java-web-common java-web-common Json组件 目标和用途 规范Json接口格式 Controller中一律返回Java object,组件将自动转换数据格式,满足Jso ...

  10. validate表单验证插件

    1.引入validate.js包 <script src="xx/xx/jquery.validate.min.js"></script> 2.表单验证 / ...