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

原文链接: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文件自身的编码不一致会导致文件解释异常。

时间: 2024-10-21 01:32:54

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

tomcat的配置文件server.xml不支持中文注释的解决办法(转载)

早上启动tomcat失败,控制台一闪而过,打开catalina的log发现错误指向了conf/server.xml,报错信息如下: -------------------------- 警告: Catalina.start using conf/server.xml: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效. ... ... --------

Tomcat主配置文件Server.xml详解

Tomcat主配置文件Server.xml详解 1.软件版本 [[email protected] META-INF]# java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) 2.server.xml组件类别 顶级组件:位于整个配置的

tomcat之配置文件server.xml综合分析

最近有两件完全背道而驰的事情同时发生,第一件事情是以SEO业务为主要业务的业者逐渐减少,许多原本是SEO的业者都纷纷转向其他业务,SEO业务反而变成副业.第二件事情是中小企业的SEO需求增加了,并且大多以钱少人累为主.当然这个观察只是片面的资料,不能说是全面SEO的现况,但是至少反应出了一些问题... SEO的业者之所以会纷纷转向其他业务,当然是因为没有足够的客户来支撑,但是奇怪的是近期所接触的中小企业反而是增高了SEO的需求,为何这些需求没能变成SEO业者的客户呢? 因为这些中小企业可能都已经

Tomcat的配置文件 -- server.xml(一)

一.tomcat配置文件server.xml包含的元素分类 1.顶层类元素:<server> <service> 位于整个配置文件的顶层 2.连接器类元素:<connector> 客户和容器类元素的通讯接口 3.容器类元素:<engine> <host> <context> 处理客户请求并且生成响应结果 4.嵌套类元素:<logger> <value> <realm> 可加入到容器中的元素 配置文件

Tomcat的配置文件Server.xml解析

配置元素说明: 元素名 属性 解释 server port 指定一个端口,这个端口负责监听关闭tomcat 的请求 shutdown 指定向端口发送的命令字符串 service name 指定service 的名字 Connector ( 表示客户端和service之间的连接) port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求 minProcessors 服务器启动时创建的处理请求的线程数 maxProcessors 最大可以创建的处理请求的线程数 enableLookup

tomcat 的配置文件 server.xml 详解

server.xml位于$TOMCAT_HOME/conf目录下,作为整个tomcat 服务器最核心的配置文件,server.xml的每一个元素都对应了tomcat中的一个组件,通过对xml中元素的配置,实现对tomcat中的各个组件和端口的配置.通常初学者可以直接使用默认配置即可,但当你本机由于各种原因(如分布式.多IDE等)需要配置多个tomcat时,就需要对server.xml的配置有一定了解. 1. server.xml配置实例 下面是实际开发环境中的tomcat7,端口保持默认,增加了

Tomcat的配置文件server.xml与组件对应关系

Server元素:是整个server.xml文件的根元素,代表整个tomcat容器.一个Server元素中可以有一个或多个Service元素,每个Service元素代表一个对外的服务. Service元素:对外提供服务,可以包含多个Connector,但是只能包含一个Engine,Connector的作用是接收外部的请求,Engine的作用是处理请求. Connector元素:接收连接请求,创建Request和Response对象用于和请求端交换数据. Engine元素:从一个或多个Connec

使用的 SQL Server 版本不支持数据类型“datetime2”的解决办法

错误原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008, 但后来实际使用中使用的数据库是sqlserver 2005, 使用的 SQL Server 版本不支持数据类型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解决办法 Open your EDMX in a file editor (or “open with…” in V

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 server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other pro