zoukankan      html  css  js  c++  java
  • Tomcat设置虚拟目录的方法, 不修改server.xm

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

    在tomcat文件夹的 confcatalinalocalhost增加project .xml文件
    文件内容:
    <Context path="/project" reloadable="true" docBase="E:javastudiooob" workDir="E:javastudiooobwork" />
    • 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:workspacececb2bwebContent" workDir="E:workspacececb2bword" 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的名相同!

  • 相关阅读:
    ASP.NET生成静态页
    IE9下silverlight 里边MessageBox.Show 失效!
    Android与iOS:谁更适合HTML 5?
    编程修改IIS7的MIME类型的问题
    (译)理解“渐进增强(Progressive Enhancement)”
    C# 获取msi文件的ProductCode
    修改chrome浏览器useragent;在电脑上也能打开pad 或者 iphone 的专用网站
    开始的iOS编程之前的准备
    测试博客
    Google Maps Android API v2
  • 原文地址:https://www.cnblogs.com/telwanggs/p/4999619.html
Copyright © 2011-2022 走看看