TomCat中server.xml编码的问题

这两天刚刚看了博客大牛的关于Javaweb的入门教程,里面开始介绍了关于Tomcat配置虚拟主机的内容,自己照猫画虎,但是出现了启动Tomcat后闪退的问题。查看了logs中的错误日志,报错信息如下所示:

警告: Catalina.start using conf/server.xml:

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

上网查看了别人的博客,折腾了好久,找到类似的一个问题以及解答,链接给出:http://tjmljw.iteye.com/blog/1500370

别人主要出现的问题是:TonCat的配置文件server.xml不支持中文注释,要想解决这个问题将配置文件中的encoding="utf-8"改为encoding="gbk"即可。

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

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

但是,我并没有中文注释,于是下了一个Notepad++,将文件变成utf-8的格式,果然看到了有一段的空格是有问题,改掉之后,果然就能正常运行了。

时间: 2024-08-08 13:54:40

TomCat中server.xml编码的问题的相关文章

解决tomcat中server.xml设置二级域名 [java.lang.OutOfMemoryError: PermGen space]

<Host name="XXX.XXX.XXX" debug="0" appBase="C:\\JavaWeb\\mytomcatServer\\XXX"  unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">  <Alias>

tomcat中server.xml配置详解

Tomcat Server的结构图如下:该文件描述了如何启动Tomcat Server. <Server port="8005" shutdown="SHUTDOWN"> <Listener /> <GlobaNamingResources></GlobaNamingResources> <Service name="Catalina"> <Executor ...... />

tomcat中server.xml参数详解

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

Tomcat中server.xml文件内各节点详解

由于 Tomcat 基于 Java,实际上在各种 Linux 发行版里的配置方法都大同小异,只是我看见在 Arch Linux 环境里搭建 Tomcat 的文章比较少,所以在 Arch Linux 实践一遍然后得出此文.此文假设你对 Tomcat 并不十分了解,主要笔墨将会在 Tomcat 的配置之上. 1.安装 Java JDK 在 Arch Linux 的 extra 源里有 jdk7-openjdk 和 openjdk6,可以直接使用 pacman 安装,至于选用哪一个可以视具体情况而定.

转 Tomcat中server.xml文件内各节点详解

由于 Tomcat 基于 Java,实际上在各种 Linux 发行版里的配置方法都大同小异,只是我看见在 Arch Linux 环境里搭建 Tomcat 的文章比较少,所以在 Arch Linux 实践一遍然后得出此文.此文假设你对 Tomcat 并不十分了解,主要笔墨将会在 Tomcat 的配置之上. 1.安装 Java JDK 在 Arch Linux 的 extra 源里有 jdk7-openjdk 和 openjdk6,可以直接使用 pacman 安装,至于选用哪一个可以视具体情况而定.

Tomcat中server.xml文件的配置

server.xml文件当中可配置如下信息: 1)配置端口号(如果是正式网站,要把8080改成80)<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 2)配置域名(网站的域名)---把localhost改成如

tomcat中server.xml配置详解(转载)(二)

转载自:https://www.cnblogs.com/starhu/p/5599773.html 一:<Connector>元素 由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果. <!-- 一个"Connector"(连接器)代表一个请求被接收和应答所需要的端点.每个连接器通过相关的"Container"(容器)处理请求. 默认情况下,一个非SSL的HT

tomcat中server.xml文件解析

下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档 元素名 属性 解释 server port 指定一个端口,这个端口负责监听关闭tomcat的请求 shutdown 指定向端口发送的命令字符串 service name 指定service的名字 Connector (表示客户端和service之间的连接) port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求 minProcessors 服务器启动时创建的处理请求的线程数 maxProcessors

配置Tomcat时server.xml和content.xml自动还原问题

转载:http://www.tuicool.com/articles/iuu6bqF[配置Tomcat时server.xml和content.xml自动还原问题] 当我们在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml和content.xml文件. 但是当我们修改完后重启Tomcat服务器时发现xml文件又被还原了,修改无效果. 为什么会还原? Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但是我的项目是自己手动在外面部署的,Ec