配置Web站点的虚拟目录
一个Web资源的URL中的资源路径部分,例如
http://www.it315.org/training/index.html
就是有Web服务器(www.it315.org)的某个本地目录中的资源所映射的虚拟路径。“/training/index.html”中的第一个正斜杠“/”表示站点的根目录,它对应到Web服务器的本地文件系统中的一个目录。站点的“/training/”子目录也要对应到Web服务器的本地文件系统中的一个目录上,这个目录可以直接是站点根目录所对应的本地文件系统目录中的一个名为“training”的子目录,也可以是与站点根目录所对应的本地文件目录没有任何隶属关系的另外一个目录。
将Web服务器的本地文件系统中的某个目录映射成一个虚拟Web目录的过程叫Web发布。
设置Web站点的根目录
要在Tomcat中为Web站点设置根目录,可以使用下面的两种方式之一:
(1)<Tomcat主目录>/webapps/ROOT目录可以自动映射成为Web站点的虚拟根目录;
(2)找到<Tomcat主目录>/conf/server.xml文件,查阅如下内容:
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
若要将d: est目录配置成Web站点的根目录,应将上面看到的这部分内容修改为:
设置Web站点的虚拟子目录
1.基本方式
在Tomcat中设置虚拟子目录的最基本的方式就是在<Tomcat主目录>/conf/server.xml文件中设置<Context>元素。在server.xml文件中,<Context>元素必须嵌套在<Host>元素中,一个<Host>元素表示一个Web站点,其中可以包含多个<Context>子元素,每个<Context>子元素分别对应该站点下的一个虚拟Web子目录。
为了便于Web应用程序的发布,通常将一个Web应用程序所对应的整个目录打包成一个jar格式的压缩文件,这个文件称为war(Web Application Archive)文件。
2.其他方式
可以将server.xml文件中的<Host>元素的autoDeploy属性设置为TRUE,然后让Tomcat在启动时按照对应方式创建Web应用程序的虚拟目录。
遇到的问题
所采用的Tomcat版本是5.5(范例实验用的是4.1.31),遇到了一些跟实验步骤不匹配的问题,例如在server.xml文件中没有<Context>元素,这样便无法按照步骤将相应目录映射成为虚拟子目录。
解决办法是在server.xml里建一个<Context>元素,但是一定要加在<host>元素内部。
<host>
<Context path="" docBase="d: est reloadable="true">
</Context>
</host>
说明: <Context>在Tomcat4.x中是写在server.xml中的,5.x后写在TOMCAT_HOMEconfCatalinalocalhost下