*************** java
又发现了一篇不错的文章 web
转自:http://blog.csdn.net/yiluoak_47/article/details/12503737 浏览器
首先,咱们要知道虚拟目录的好处。虚拟目录不一样于原始的Tomcat运行方式,原始的方式是把项目拷贝到webapps下,而后启动tomcat,就能够访问webapps下的项目。咱们使用eclipse配置tomcat,实际上的原理也是这种方式。 缓存
但这种方式的弊端在于,webapps下的项目不是最新的动态,一旦咱们修改了eclipse工做目录下的项目,并不能马上的反应到 tomcat/webapps下。因此咱们不得不编译项目后,清除webapps下的缓存,甚至要移除项目,而后在放进去。这样来回折腾,大大下降了工做 效率。咱们只要改动一个小地方,就要重复的进行一次上面的工做。 tomcat
聪明的人,老是懒惰的。咱们想到能不能改变一下当前的方式,有一种更好的方式呢?这时候,虚拟目录就浮现出来。 网络
虚拟目录的做用是把Web的发布目录直接定位到eclipse工做目录下,实现实时更新,实时使用。 app
要配置虚拟目录,咱们须要在Tomcat/conf/catalina/localhost下根据项目命名“项目名.xml”,里面的内容: eclipse
<?xml version="1.0" encoding="UTF-8"?> <Context path="/cecb2b" docBase="E:\workspace\cecb2b\webContent" workDir="E:\workspace\cecb2b\word" reloadable="true" debug="1"></Context>
属性解释: webapp
path:网络访问名 jsp
docBase:项目实际路径
wordDir:指定jsp转换为java的存放目录。这样配置,省得移植的时候从新编译jsp
reloadable:指定当class文件变化的时候,是否从新加载
debug:是不是调试模式
这样,Web发布目录就直接指向了eclipse工做目录下的项目。咱们在eclipse下修改代码,只要一构建,tomcat自动从新加载。咱们就不用来回移除项目了。
最后,咱们还能够修改cong/web.xml中的:
<init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param>
把false改成true。
最后,咱们须要注意的是,用eclipse建立Web项目,必定要是动态Web项目,而后在修改项目的一些属性:
一、去掉Project--Build Automatically(自动构建)
二、属性--Builders--除了Java Builder所有勾去(这样项目构建速度大大加快)。
三、属性--Java Build Path--Source--项目名/WebContent/WEB-INF/classes
注意,tomcat7.0和以往不一样:
<Context path="/vsearch" docBase="E:/workspace/vsearch2012/WebContent" reloadable="true" debug="5" crossContext="true" />
须要注意,xml文件名必须和path的名相同!