版权声明:本文为博主原创文章,欢迎转载分享,请保留原文地址。
平时一般都是在myeclipse上直接把项目加载至tomcat服务器的webApp目录进行项目的部署,
但是这样子有不方便的地方,如果是已经部署了很多个项目,包之间有冲突的话,一个个remove掉很麻烦,而且还占空间。
可以使用tomcat的conf目录下的server.xml配置文件进行web项目的映射部署,把不在webApp目录的项目部署运行起来。
具体方法是打开tomcat下conf/server.xml,在<Host> </Host>标签之间输入项目配置信息。一个例子如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<!-- 配置方法<Context path="/访问目录名" docBase="e:/项目/WebRoot" debug="0" reloadable="true"/>-->
<!-- 第一个项目-->
<Context path="/struts" docBase="D:Struts2WebRoot" reloadable="true">
</Context>
<!--第二个项目-->
<!--
<Context path="/robot" docBase="D:My DocumentsMyEclipseWorkspace
obotWebRoot" reloadable="true">
</Context>
-->
</Host>
上面的几个配置参数的含义如下:
path:浏览器访问时的路径名,如第一个项目,浏览器访问时路径名是(我的是80端口):localhost/struts/index.jsp
docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。
debug:值为0的话,表示不打印日志
reloadble:设定项目有改动时,tomcat是否重新加载该项目
以映射的方式部署项目,优点是很明显的,节约了空间,而且想要不加载其他项目时,只需要注释掉配置就可以,需要再用的时候只需取消
注释就行,这在开发中是很方便的。
有一点要注意的是,如果是用Notepad++或者其他编辑器改写server.xml时,注意一定要以utf-8的编码方式保存,否则启动tomcat时会提示
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.的错误。
这一点原因可见http://blog.csdn.net/lcjackson/article/details/8014932
或者如下内容:
1、今天在MyEclipse项目中部署项目的时候出现错误:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
2、分析:发现自己修改tomcat的conf/server.xml文件的时候,用的editPlus保存的,保存时候的编码是ANSI,和xml文件声明的文件编码不一致。这个问题的主要原因是xml文件中声明的编码与xml文件本身保存时的编码不一致。
比如你的声明是<?xml version="1.0" encoding="UTF-8"?>
但是却以ANSI格式编码保存,尽管并没有乱码出现,但是xml解析器是无法解析的。
3、解决办法就是重新设置xml文件保存时的编码与声明的一致,改过保存编码重新保存后,问题解决了。
Tomcat 利用server.xml进行文件映射的部署
请问高人
如何在项目里面的JSP页面显示D盘的图片,项目部署在E 盘,就是说 图片不是放在项目下的文件夹?
1、今天在MyEclipse项目中部署项目的时候出现错误:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
2、分析:发现自己修改tomcat的conf/server.xml文件的时候,用的editPlus保存的,保存时候的编码是ANSI,和xml文件声明的文件编码不一致。这个问题的主要原因是xml文件中声明的编码与xml文件本身保存时的编码不一致。
比如你的声明是<?xml version="1.0" encoding="UTF-8"?>
但是却以ANSI格式编码保存,尽管并没有乱码出现,但是xml解析器是无法解析的。
3、解决办法就是重新设置xml文件保存时的编码与声明的一致,改过保存编码重新保存后,问题解决了。