1.Tomcat服务器的主目录配置


Tomcat服务器的主目录是:webapps/root目录,但是我们要是想修改的话可以找到tomcat安装目录下的conf文件夹下的server.xml文件,然后打开在<Host></Host>之间加入

<Context  path="" docBase="E: MyWebObject/UserManamerSystem" debug="0" reloadable="true" crossContext="true"/>

重点:path=""

重新启动tomcat,主目录就被设置为UserManamerSystem这个项目了。

同时tomcat会生成一个C:\Tomcat/conf/Catalina/localhost目录,里面自动生成了一个ROOT.Xml(root大写)文件。

<host>标签:

Tomcat中主目录配置与虚拟目录配置问题自我总结_Tomcat中主目录配置与虚拟目录配置问

2.Tomcat服务器的虚拟目录配置


我们都知道,在Tomcat目录下,默认配置情况下web应用发布放到webapps目录里面,webapps就像是站点的根目录一样。但是,如果你的web应用很多,放多了就会很乱,所以这种情况下我们可能就要考虑把这么多web应用分开放入不同的磁盘不同文件夹里面,在这种情况下要想访问到你的web应用,,就不得不为服务器配置虚拟目录了。

配置虚拟目录的方法:

1>.找到server.xml打开,在host标签之间加上下面代码:
<Context path="/site" docBase="c:/site" reloadable="true" debug="0"/>

path 表示在浏览器中输入http://localhost:8080/site

docBase表示你的程序包的物理绝对路径


2>.在tomcat安装目录下的conf文件夹中的catalina文件夹下的localhost文件夹中写配置文件,文件名字可以随便取,但最好有意义,配置文件内容:
<Context path="/site" docBase="c:/site" reloadable="true" debug="0"/>


3>.找到server.xml打开,修改<Host name="localhost" debug="0" appBase="webapps"
 unpackWARs="true" autoDeploy="true">
将appBase的设置成期望的路径(绝对路径)
但是,当输入:http://localhost:8080/时,没有出现默认的页面

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

2.基于第1点,通过测试我发现,每当我们访问一个地址的时候,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标签,则返回访问错误页面。


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

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

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