`

详细解说Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径(转)

 
阅读更多

很多朋友都会很疑惑,既然我们都知道在Tomcat服务器上部署项目只要将项目打包,然后放到webapps目录下就可以了,为什么还需要配置虚拟路径?的确,把项目放到webapps目录下非常方便,至少在部署一个项目时,直接把项目扔到webapps目录下所进行的操作会比设置虚拟路径容易的多。但是如果考虑到长久性的操作以及多个项目呢?

 设置虚拟路径的优势我总结有两点,当然这只是很普通、很常见的两点优势:第一、我们开发一个项目,在未定版之前需要进行无数次的修改,如果部署测试项目的时候直接将项目打成war包放到webapps目录下,那么每一次版本变更都需要将新的版本放到webapps目录下覆盖原先的版本,这样对于我们测试项目来说是不是非常麻烦呢?如果建立一个虚拟路径,直接映射到项目原件,这样一来在测试阶段是不是非常的方便?(当然这点对于使用集成开发环境工具的开发者来说可以忽略大笑);第二、Tomcat是一个服务器,既然是一个服务器是不是就有容量这么一说呢?虽然这个容量是你说了算,但是再怎么大是不是也有盘符容量限制?如果将所有的项目都部署到webapps目录下,当项目比较大而且项目较多的时候是不是需要考虑一下盘符的感受呢?所以使用虚拟路径也可以为搭载Tomcat服务器的盘符分压!

 

==============这真的只是一条分割线 ==============

好了,废话就不多说了,直接切入正题!

如何设置虚拟路径呢?网上有很多的帖子,但是很多都只提到2-3中方法,其实在Tomcat7的官方文档中给出了5种设置的方法,下面我们就来看一下其中的4中,因为有一种实在是不常用:

 

方法1(修改配置文件):这是最最最常见的一种方法

在Tomcat7的安装目录下找到conf目录,在该目录下有一个server.xml文件,这个文件的任务是配置整个服务器信息。例如修改端口号,添加虚拟主机…… 打开这个文件,找到HOST标签,

在这个标签中处插入以下代码:

<Context path="/yang" docBase="f:\mysite1\xxx.war" debug="0" reloadable="true" crossContext="true" />

说明:

  • path:指定访问该 Web 应用的 URL 入口。
  • docBase:指定 Web 应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase 属性的相对路径,如果 Web 应用采用开放目录结构,则指定 Web 应用的根目录,如果 Web 应用是个 war 文件,则指定 war 文件的路径。(指定项目所在地址)
  • reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。
  • crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。
  • Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。

这个方法一般在设置后都需要重启服务器才有效(有时候即使设置了reloadable=“true” 也需要重新启动)

 

-----------------------------------------------------------------------------------------------------------------------------------------------

 

方法2(添加配置文件):推荐使用,不需要重启服务器

在Tomcat根目录下的/conf/Catalina/localhost/ 路径下新建一个filename.xml,并在该xml中编写语句

<Context docBase="F:\Java\JavaWebWorkspace\news"/>

即可创建虚拟站点,虚拟站点名为filename。注意docbase指向你自己的应用程序目录,各参数参见方法1中的<Context>标签的参数(注意此文件名将作为Context中的path属性值,不管文件里的path属性值如何设置也是无效的 )。

如果需要分层虚拟站点,可以将文件名改成a#b#c,访问分层虚拟站点时用localhost:8080/a/b/c

----------------------------------------------------------------------------------------------------------------------------------------------

方法3:

在Tomcat根目录下的conf目录context.xml文件中插入

<Context path="/zhang" docBase="f:\mysite1" debug="0" reloadable="true" crossContext="true" />

注意,这个虚拟路径修改方法会让所有的站点都能加载,https://localhost:8080/zhang

使用这个之前最好将service.xml中的列表设置打开。

   -----------------------------------------------------------------------------------------------------------------------------------------------

方法4:

在Tomcat根目录下的路径/conf/Catalina/localhost/context.xml.default ,在这里进行配置,这个虚拟路径修改方法会让该主机下的所有的站点都能加载,同上。 

 

原文链接

分享到:
评论

相关推荐

    (有截图和详细解说)win7下配置tomcat7.0

    ### Win7 下配置 Tomcat 7.0 的详细步骤与解析 #### 一、前言 随着技术的发展,越来越多的人开始使用最新的软件和技术栈来进行开发工作。Tomcat 作为 Java Web 开发中不可或缺的一部分,其配置过程对于初学者来说...

    Tomcat 原理解说

    【Tomcat 原理解说】 Tomcat 是一个流行的开源Java Servlet容器,它实现了Java EE中的Web应用程序规范。本文将深入解析Tomcat的启动过程、Web容器的功能以及一些不常用的配置选项。 ### 1. Tomcat 启动过程分析 ...

    tomcat安装包以及一些简单的servlet解说

    理解Tomcat的安装与配置,以及Servlet的基本概念和工作原理,对于初学者来说至关重要,能够为后续的Web开发打下坚实的基础。通过实践,你可以更深入地学习如何利用这些工具创建动态、交互式的Web应用程序。

    Word2021怎么设置行距?行距设置详细解说.docx

    Word2021行距设置详细解说 在Word2021中,设置行距是一种非常重要的排版技巧,可以让文字排版达到自己想要的效果。行距的设置可以让文字占用段落的长度缩短或延长,从而达到想要的效果。本文将详细介绍Word2021中...

    详细解说STL 详细解说STL 详细解说STL 详细解说STL 详细解说STL

    STL,全称为Standard Template Library,是C++编程语言中的一种重要库,由Alexander Stepanov设计,它提供了一系列高效且灵活的容器、迭代器、算法和函数对象,用于实现泛型编程。STL的核心思想是使用模板元编程,...

    八段锦动作详细解说-精校版.doc

    "八段锦动作详细解说" 八段锦是一种传统的中国气功动作,旨在通过动作、呼吸、意念等多方面的练习,达到身心健康、提高生命质量的目的。下面是对八段锦动作的详细解说: 一、容:八段锦动作共十式,每式动作都包含...

    IME输入法VC编程的详细解说

    在《IME输入法VC编程的详细解说》PDF文档中,作者可能详细讲解了以上各个步骤,包括具体函数的使用、示例代码的解析以及常见问题的解决策略。通过学习这份文档,开发者可以全面了解IME输入法的开发过程,从而构建出...

    ABB机器人左右码垛详细解说

    ### ABB机器人左右码垛详细解说 #### 一、程序结构与逻辑 本文档通过一个具体的ABB机器人程序示例来详细解析左右码垛的操作过程。程序由一系列有序的指令构成,实现了从产品抓取到码放的一整套流程。下面我们将...

    PPT中插入声音的几种方法.pdf

    本文将详细介绍四种在PPT中插入和控制声音的方法。 首先,将某段音乐作为整个演示文稿的背景音乐。这适用于制作电子相册或画册时,为每页幻灯片提供连续的背景音乐。具体步骤包括: 1. 准备音乐文件,支持WAV、MID...

    全部_JAVA教程java知识详细解说

    java知识详细解说java知识详细解说java知识详细解说java知识详细解说java知识详细解说java知识详细解说java知识详细解说

    linux命令大全 详细解说 chm

    Linux命令大全详细解说CHM,这是一份专为Linux用户和初学者准备的参考资料,它以CHM(Microsoft Compiled HTML Help)格式呈现,便于查阅和检索。CHM格式的文件通常用于组织和存储大量信息,使得用户能够快速查找并...

    FANUC机器人_用户自定义摆焊功能设置方法.docx

    FANUC机器人的用户自定义摆焊功能是一种高级的焊接技术,它允许用户根据特定的焊缝形状设计个性化的摆动轨迹,适用于处理异形焊缝和特定角度的焊接任务,比如立焊。这一功能不适用于TAST(Touch Sensor Arc Welding...

    三极管的工作原理详细解说

    本文内容主要对三极管的工作原理进行解说,从三极管的结构讲起详细讲解三极管工作过程与放大原理等。 对三极管放大作用的理解,切记一点:能量不会无缘无故的产生,所以,三极管一定不会产生能量。但三极管厉害的...

    AI配音几十种声音,电影解说,动漫解说必备

    "AI配音几十种声音,电影解说,动漫解说必备"这一标题揭示了AI技术在配音领域的广泛应用,它允许用户只需提供文案就能生成多种风格的语音音频。这种技术极大地丰富了配音的多样性和效率,为电影解说、动漫解说等提供...

    2023年玩转电影解说:平台不倒,一直做到老

    2023年玩转电影解说:平台不倒,一直做到老 课程目录: 1.准备工作.mp4 2.视频质量标准.mp4 3.1详细讲解写电影解说文案.mp4 3.2如何制作个性化的头像Logo.mp4 3.电影解说的整个流程介绍.mp4 4.获取高清无水印...

    台式电脑双硬盘设置图文详细解说教程!.docx

    例如,如果你有一个7200转的20GB希捷酷鱼II硬盘和一个5400转的60GB希捷U6硬盘,你应该将前者设为主盘,因为它速度更快。 跳线设置通常在硬盘的正面或反面有详细说明。按照说明,将一块硬盘设为主盘(Master Device...

Global site tag (gtag.js) - Google Analytics