tomcat在conf/Catalina/localhost目录下配置虚拟目录

在tomcat的conf/Catalina/localhost目录下创建一个xxx.xml文件

<Context path="/xxx" docBase="D:\work\xxx" reloadable="false" crossContext="true"></Context>

 启动tomcat,然后访问:http//localhost:8080/xxx  即可

 path:指访问路径

 docBase:指项目路径

补充下:

因此Tomcat 6.x尽管也允许直接在server.xml文件中配置<Context>元素,但不提倡采用这种方式。Tomcat 6.x提供了多种配置<Context>元素的途径。当Tomcat 6.x加载一个 Web 应用时,会依次按照以下五种方式尝试查找 Web 应用的<Context>元素,直到找到为止 
(1)到<CATALINA_HOME>/conf/context.xm文件中查找<Context>元素。这个文件中的<Context>元素的信息适用于所有Web应用。 
(2)到<CATALINA_HOME>/conf/[enginename]/[hostname]/context.xml.default 文件中查找<Context>元素。[enginename]表示<Engine>的 name 属性,[hostname]表示<Host>的name属性。在context.xml.default文件中的<Context>元素的信息适用于当前虚拟主机中的所有Web应用,例如以下文件中的<Context>元素适用于名为Catalina的Engine下的localhost主机中的所有Web应用:

<CATALINA_HOME>/conf/Catalina/localhost/context.xml.default  

 (3)到<CATALINA_HOME>/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。[contextpath]表示单个Web应用的URL入口。在[contextpath].xml文件中的<Context>元素的信息只适用于单个 Web 应用,例如以下文件中的<Context>元素适用于名为“Catalina”的Engine下的localhost主机中的helloapp应用: 

<CATALINA_HOME>/conf/Catalina/localhost/helloapp.xml

 (4)到Web应用的META-INF/context.xml文件中查找<Context>元素。这个文件中的<Context>元素的信息适用于当前Web应用。 

(5)到<CATALINA_HOME>/conf/server.xm文件中的<Host>元素中查找<Context>子元素。该<Context>元素的信息只适用于单个Web应用。 
如果仅仅为单个 Web 应用配置<Context>元素,可以优先选择第三种或第四种方式。第三种方式要求在Tomcat的相关目录下增加一个包含<Context>元素的配置文件,而第四种方式则要求在 Web 应用的相关目录下增加一个包含<Context>元素的配置文件。对于这两种方式,Tomcat在运行时都会监测包含<Context>元素的配置文件是否被更新,如果被更新,Tomcat 会自动重新加载并启动 Web 应用,使对<Context>元素所做的修改生效。 
下面先采用第四种方式配置<Context>元素。在 helloapp 目录下新建一个META-INF子目录,然后在其中创建一个context.xml文件,它的内容如下: 

<Context path="/helloapp" docBase="helloapp" reloadable="true"/>  

 以上<Context>元素的 docBase 属性表明,helloapp 应用的文件路径为<CATALINA_HOME>/webapps/helloapp;path属性表明访问helloapp应用的URL入口为“/helloapp”。 
下面再采用第三种方式配置<Context>元素。假定 helloapp 应用的文件路径为C:\chapter03\helloapp,并且在<CATALINA_HOME>/webapps 目录下没有发布helloapp应用。在<CATALINA_HOME>/conf目录下先创建Catalina目录,接着在Catalina目录下再创建localhost目录,然后在<CATALINA_HOME>/conf/Catalina/localhost目录下创建helloapp.xml文件,它的内容如下:

扫描二维码关注公众号,回复: 781571 查看本文章
<Context path="/helloapp" docBase="C:\ chapter03\helloapp" reloadable="true"/>  

 以上<Context>元素的 docBase 属性指定了 helloapp 应用的绝对路径,为C:\chapter03\helloapp;path属性表明访问helloapp应用的URL入口为“/helloapp”。由于helloapp.xml文件位于Catalina/localhost/子目录下,因此helloapp应用将运行在名为Catalina 的 Engine 组件的 localhost 虚拟主机中。访问 helloapp应用中的 login.htm和hello.jsp的URL分别为: 

http://localhost:8080/helloapp/login.htm  
http://localhost:8080/helloapp/hello.jsp  

 在 server.xm文件中已经有一个名为 localhost 的<Host>元素,如果采用第五种方式配置<Context>元素,最常见的做法是在该<Host>元素中插入<Context>子元素,例如: 

<Host name="localhost"              appBase="webapps"  
unpackWARs="true"        autoDeploy="true"  
xmlValidation="false"   xmlNamespaceAware="false">  
…  
  <Context path="/helloapp" docBase="helloapp" reloadable="true"/>  
</Host>  

 提示:

如果没有为Web应用配置Tomcat的Context元素,那么Tomcat会为Web应用提供一个默认的Context组件。

猜你喜欢

转载自weifengxuxu.iteye.com/blog/2235259
今日推荐