Tomcat:配置虚拟目录或主目录

为了在访问web服务的时候,不需要输入项目名,直接"/"就可以访问的话,需要设置虚拟目录或在ROOT下直接放项目

1、采用虚拟目录的方式

  在Host中添加  <Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="/" reloadable="true"></Context>
  或

  在 conf/Catalina/localhost 中创建ROOT.xml配置

  

  具体配置解释:

  1)crossContext多用户共享session的配置

  2)docBase项目的虚拟目录,非webapps下

  3)path 为浏览器访问目录

  注意以下三点:

  1)如果path为空或/的话,则会覆盖/webapps/ROOT的项目,导致ROOT下的东西无法访问

  2)如果Context的docBase配置在非Webapps目录下的话,有可能出现Cookie和session互窜的问题,比如用户1登录看到用户2的登录信息

  3)如果配置了Context,并且docBase中的目录在Webapps下(非ROOT),则会导致项目加载两次

    例如:<Context docBase="/wetalk/wss/apache-tomcat-7.0.62/webapps/AAA" path="" debug="0" reloadable="true"/>

    因为项目启动时,会自动加载Host中配置的Webapps目录下的项目,且会再次加载Context配置的虚拟目录

2、直接将项目放在webapps/ROOT目录下

  这种方式不用配置context就可以使用,比较方便

3、其他说明

1)另外tomcat会生成一个C:\Tomcat\conf\Catalina\localhost目录,里面自动生成了一个ROOT.Xml(root大写)文件,我们打开文件可以看到这些代码:

<?Xml version=‘1.0‘ encoding=‘utf-8‘?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>

2)注意:我们创建虚拟目录的时候也是这样来进行设置的,只使context这个标签的path属性不为空。

3)我们设置虚拟目录和主目录,都会在C:\Tomcat\conf\Catalina\localhost目录下生成相应的Xml文件,因此,当我们在 server.Xml里面删除了主目录和虚拟目录的设置后,如果系统还没有生效,这时候我们就要察看一下这个目录下的Xml文件是不是已经被删除了,如果 没有被删除,他还是对tomcat起作用的,我们必须手动删除。

4)基于第3点,通过测试我发现,每当我们访问一个地址的时 候,tomcat首先是到C:\Tomcat\conf\Catalina\ localhost目录下去察看有没有存在主目录或虚拟目录的Xml文件,如果有Xml文件,就按Xml里的路径进行访问,如果没有Xml文件,就到 server.Xml文件里去察看是否配置context标签,如果配置了context标签,则在C:\Tomcat\conf\Catalina\ localhost目录下生成一个对应的Xml文件,以便于下次直接验证而不再访问server.Xml,与此同时打开context里指定的路径,如 果 server.Xml里没有配置context标签,则返回访问错误页面。

5.基于第4点,我们其实可以直接在C:\Tomcat\conf\Catalina\localhost下建立一个Xml文件,用于主目录或者虚拟目录,而不需要去修改server.Xml就可以达到配置主目录和虚拟目录的目的,具体Xml的格式可以如下:

<?Xml version=‘1.0‘ encoding=‘utf-8‘?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="" reloadable="true">
</Context>

具体是主目录的配置还是虚拟目录的配置取决于path的值。另外主目录文件名必须是ROOT.Xml(root大写),而虚拟目录的文件名称和虚拟目录的名称一致并且为小写,譬如:

<?Xml version=‘1.0‘ encoding=‘utf-8‘?>
<Context crossContext="true" docBase="E:/tomcatApp/JeasyCMS" path="\cms" reloadable="true">
</Context>

以上则定义了一个名为:cms的虚拟目录,同时要将以上文本保存为cms.Xml文件。
时间: 2024-10-26 10:28:00

Tomcat:配置虚拟目录或主目录的相关文章

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

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

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

Tomcat配置虚拟目录

虚拟目录即为保存网站资源如JSP等文件的目录,配置虚拟目录分为如下几个步骤. 第一步: 在磁盘的任意位置创建一个文件夹,如“E:\JavaWebAPP”.该文件夹即为虚拟目录地址. 第二步: 在虚拟目录中创建一个名为“WEB-INF”的文件夹,并在该文件夹中创建一个web.xml文件. 第三步: 打开Tomcat安装目录conf文件夹中的server.xml,找到文件最末端的“</Host>”,在其上面一行添加如下代码.<Context path="/test" do

tomcat配置虚拟目录映射

本文主要介绍web虚拟目录映射的两种常用方法及配置默认web应用的方法 一.在Server.xml中进行配置 在<Host>元素中添加子元素<Context path=" ... " docBase=" ... "/>并重启服务器即可:path表示虚拟目录,docBase表示真实的web应用所在目录: 比如在C盘中存在a这个web应用,则<Context path="/test" docBase="C:\a

Tomcat配置虚拟目录(目录+文件)

1.server.xml设置 打开Tomcat安装目录,在server.xml中<Host>标签中,增加<Context docBase="硬盘目录" path="虚拟路径" reloadable="true"/> 例如:<Context docBase="D:/mlsc-ecs" path="/myWebPath" reloadable="true"/&g

tomcat配置虚拟目录实现无项目名访问项目,域名直接访问

1.tomcat下新建文件夹名为 myapp,把编译后的项目放入该文件夹,不是war包. 2.conf/Catalina/localhost目录下,新建一个ROOT.xml文件,写入类似于如下内容 <?xml version='1.0' encoding='utf-8'?> <Context path="/" docBase="项目的绝对路径" debug="0" privileged="true" relo

Tomcat配置虚拟目录、多域名、多个Http监听端口的方式

h a

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 笔记-配置虚拟目录

,默认情况下,只有webapps下的目录才能被Tomcat自动管理成一个web站点,把web站点的目录分散到其他磁盘管理就需要配置虚拟目录.把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射 方法一: 在${TOMCAT_NOME}/conf/server.xml文件中加入,如下代码.path表示的是访问时输入的web名,docBase表示的是站点目录的绝对路径 <Context path="/web1" docBase="path/of/web1&