Tomcat设置虚拟目录的方法, 不修改server.xm

所在小组使用的就是这样的形式开发,这样切换开发环境,测试环境,正式环境就只需要修改project.xml文件就行了。project.xml命名是随意的,访问的时候就使用这个名字来访问。

在tomcat文件夹的 conf\catalina\localhost增加project .xml文件

文件内容:

<Context path="/project" reloadable="true" docBase="E:\javastudio\oob" workDir="E:\javastudio\oob\work" />

  • docBase是项目文件夹的web-inf文件夹的上一层目录
  • workDir是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置 在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。一般格式:项目文件夹\work
  • reloadable是指可以重新加载,一般设置为true,方便使用,不需要经常重启Tomcat。

以后启动Tomcat,在浏览器输入 http://localhost:8080/project就能访问该项目的welcome文件。

***************

为什么要不修改server.xml呢?在Tomcat6的doc帮助文档中,官方是不提倡修改 server.xml来添加虚拟目录的!

而我认为,以上使用的方法,非常方便于项目的移植,移植后,只有修改docBase和workDir的值就行了,甚至可以去掉workDir这个属性!

***************

又发现了一篇不错的文章

转自:http://blog.csdn.net/yiluoak_47/article/details/12503737

首先,我们要知道虚拟目录的好处。虚拟目录不同于原始的Tomcat运行方式,原始的方式是把项目拷贝到webapps下,然后启动tomcat,就可以访问webapps下的项目。我们使用eclipse配置tomcat,实际上的原理也是这种方式。

但这种方式的弊端在于,webapps下的项目不是最新的动态,一旦我们修改了eclipse工作目录下的项目,并不能立刻的反应到 tomcat/webapps下。所以我们不得不编译项目后,清除webapps下的缓存,甚至要移除项目,然后在放进去。这样来回折腾,大大降低了工作 效率。我们只要改动一个小地方,就要重复的进行一次上面的工作。

聪明的人,总是懒惰的。我们想到能不能改变一下当前的方式,有一种更好的方式呢?这时候,虚拟目录就浮现出来。

虚拟目录的作用是把Web的发布目录直接定位到eclipse工作目录下,实现实时更新,实时使用。

要配置虚拟目录,我们需要在Tomcat/conf/catalina/localhost下根据项目命名“项目名.xml”,里面的内容:

<?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>

属性解释:

  path:网络访问名

  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项目,然后在修改项目的一些属性:

1、去掉Project--Build Automatically(自动构建)

2、属性--Builders--除了Java Builder全部勾去(这样项目构建速度大大加快)。

3、属性--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的名相同!

时间: 2024-12-20 18:18:36

Tomcat设置虚拟目录的方法, 不修改server.xm的相关文章

springboot-为内置tomcat设置虚拟目录

需求 项目使用springboot开发,以jar包方式部署.项目中文件上传均保存到D判断下的upload目录下. 在浏览器中输入http://localhost:8080/upload/logo_1.jpg能访问到D盘upload目录下的logo_1.png图片 解决方法 由于使用jar包方式,无法使用为tomcat配置虚拟目录的方式,需为springboot内置tomcat设置虚拟目录. 实现 import org.springframework.context.annotation.Conf

Tomcat设置虚拟目录

需求 在做B/S的应用时,经常会遇到一个问题,网站上传的一些图片不是保存在应用服务器下面,而是保存在别的目录,但是页面中又需要能访问到这些图片.这时,应用服务器的"虚拟目录"就派上了用场. [转载使用,请注明出处:http://blog.csdn.net/mahoking] 解决方案 本文[以apache-tomcat-5.5为例]打开tomcat的配置文件,路径是:apache-tomcat-5.5/conf/server.xml.找到HOST标签,在<HOST><

Tomcat虚拟目录配置方法及原理

tomcat 安装好之后,只需要把你的程序包放到$Tomcat_Home$/webapps下就可以直接使用了.这样会使webapps越来越大就需要设置虚拟目录: 1.单个应用设置: 在<Host>和</host>之间加上 <Context path="/site" docBase="d:\site" reloadable="true" debug="0"> </Context> 

关于tomcat JSP虚拟目录的这点事儿!

最简单的情况当然是将.jsp文件放在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT目录下,运行tomcat, 在浏览器中直接访问http://localhost:8080/HelloWorld.jsp  即可运行.jsp文件 而在实际的开发运用中,我们是不可能将Tomcat应用程序安装在系统盘如C盘. 所以,我们需要运用到设置虚拟目录的知识: 为创建虚拟目录以在浏览器中运行jsp文件:1:假设我们将tomca

TOMCAT配置虚拟目录--&lt;Context&gt;标签

在默认安装后,tomcat的主目录是webapps/root目录,如果我们想改变tomcat的主目录的话可以这样做: 1.打开C:\Tomcat\conf\server.Xml,在<host></host>之间加入代码: <Context path="/" docBase="E:\tomcatApp\JeasyCMS" debug="0" reloadable="true" crossContex

Wamp设置虚拟目录

1. 默认安装 wamp后,工作目录为"..../wamp/www" 也就是PHP文件只有放在此目录下才能打得开,打开Apache的配置文件httpd.conf可以看到: 这么两行: 1.1. DocumentRoot "d:/wamp/www" 1.2. <Directory "d:/wamp/www"> ........ </Directory> 2. 如果我们只是想换一个目录,可以直接将httpd.conf中那两个配

iis7配置虚拟目录的方法步骤介绍

环境: WindowsServer2008操作系统: iis7 配置虚拟目录的方法步骤如下: 1.首先我们要创建虚拟目录: (1).我们点击桌面左下角的开始菜单,打开控制面板中的管理工具,再打开"Internet信息服务管理器": (2).打开之后我们在界面的左边列表中右键点击需要添加虚拟目录的站点,然后选择"添加虚拟目录":FTP (3).在弹出的对话框中,我们输入虚拟目录的名称,选择物理路径,完成之后就点击"确定"就可以了: (4).这样,我

jexus创建虚拟目录的方法

用MONO+Jexus来在Linux下跑asp.net,一直挺好的,但现在有一个问题,不知道怎么创建虚拟目录,翻了半天GG和官网也没找到相应的方法. 突然想起来,Linux下可以用软链接来创建指向一个目录的符号链接,于是觉得这个方法应该可行. 于是 ln /var/name /var/www/web/path 这样就在web目录创建了一个path的符号链接,指向/var/name目录,然后在浏览器中访问http://www.web.com/path OK,顺利搞定 最后又想到,jexus好像没有

Tomcat配置虚拟目录和虚拟主机

Tomcat配置虚拟目录 1.官方文档修改server.xml 不推荐. 在tomcat\conf下server.xml中找到: <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"&g