Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)

版权声明:本文为博主原创文章,欢迎转载分享,请保留原文地址。
平时一般都是在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:\Struts2\WebRoot" reloadable="true">
</Context>
<!--第二个项目-->
<!--
<Context path="/robot" docBase="D:\My Documents\MyEclipseWorkspace\robot\WebRoot" 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文件保存时的编码与声明的一致,改过保存编码重新保存后,问题解决了。
Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)的更多相关文章
- 本机tomcat的server.xml被还原的问题及解决办法
将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...
- Tomcat配置(二):tomcat配置文件server.xml详解和部署简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...
- CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
这是我2018年的第一篇博客...人真是懒了啊...最近在写微信小程序,觉得小程序做的也... 好了不吐槽了,言归正传 前言: 由于我之前不是买了个三年的香港服务器么 , 之前广州2的服务器我就没有续 ...
- 配置Tomcat的server.xml以适应web-content文件系统的位置改变
刚才把写的一对jsp.html文件夹改变了位置,然后测试的时候出现了404 后来思考,应该去重新配置tomcat的server.xml文件,修改虚拟路径对应的文件系统路径,修改为当前对应的文件系统路径 ...
- Tomcat配置 —— server.xml
Tomcat的核心组件是servlet容器. Tomcat各个组件之间的嵌套关系 server.xml配置如下: <Server port="8005" shutdown=& ...
- OSChina.net 的 Tomcat 配置 server.xml 参考
这是目前 oschina.net 正在使用的 tomcat 的 server.xml 的配置文件内容 <Server port="9005" shutdown="S ...
- tomcat中server.xml配置详解(转载)(一)
转载自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置详解 Tomcat Server的结构图如下:(该文件描述了如 ...
- Tomcat配置文件server.xml分析
本文力求,分析清楚 tomcat 的 server.xml 文件,逐步完善更新 常用来,配置tomcat启动,端口号:配置编码等. apache-tomcat-9.0.10/conf/server.x ...
随机推荐
- 简易版自定义BaseServlet
这几天在学Java Web,一直在思考Servlet重用的问题,就用java的反射机制实现自定义的简易版BaseServlet; 该方式有点像struts2 利用映射获取前端的参数.有兴趣的同学可以自 ...
- Node.js 教程 06 - 函数
前言: 本篇介绍的是Node.js中的函数,相对于上一篇会简单一点,其实和我们Javascript中的function无异. 好了,废话不多说了,我们进入正题吧. Node.js函数: [示例1:创建 ...
- [Bind(Exclude = "OrderId")][ScaffoldColumn(false)]
[Bind(Exclude = "OrderId")] 的意思是:View里的Model,在你提交给 Action时,不会绑定到Action的参数Model,默认它会绑定. mvc ...
- MySQL Performance-Schema(三) 实践篇
前一篇文章我们分析了Performance-Schema中每个表的用途,以及主要字段的含义,比较侧重于理论的介绍.这篇文章我主要从DBA的角度出发,详细介绍如何通过Performance-Schema ...
- 0034 Java学习笔记-反射-初步2-操作对象
通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...
- mysql比较时间大小unix_timestamp
使用unix_timestamp方法进行比较,将字符型的时间,转成unix时间戳 select * from t1 where unix_timestamp(time1) > unix_time ...
- python-open文件处理
python内置函数open()用于打开文件和创建文件对象 语法 open(name[,mode[,bufsize]]) name:文件名 mode:指定文件的打开模式 r:只读 w:写入 a:附加 ...
- java.util.ConcurrentModificationException 解决办法(转载)
今天在项目的中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,这时想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,测试代码: public cla ...
- java中的SPI机制
1 SPI机制简介 SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的.在java.util.ServiceLoader的文档里 ...
- 30天的php学习之路——第一天开端
因项目紧急只留给了我4周时间学习php.谨以此文记录我的php学习历程,仅供参考,若有错误请指正. 之前对php有过一些了解,一些语法和习惯和C#差距有些大,所以第一天准备对php中的符号有个全面的了 ...