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

来源:互联网 发布:用python做数据分析pdf 编辑:程序博客网 时间:2024/06/09 23:52

在server.xml的host节点配置多个context,就是虚拟目录了,很简单

<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <Context path="/liuxg1" docBase="/liuxg1" reloadable="true" crossContext="true"/>        <Context path="/liuxg2" docBase="/liuxg2" reloadable="true" crossContext="true"/>             </Host>

crossContext属性能让你的应用共享上下文环境,例如:
在liuxg1中的项目中有如下代码

 ServletContext liuxg1 =session.getServletContext();   liuxg1.setAttribute("user", "liuxg1");

该代码的作用是将key为user,value为liuxg1放到项目的上下文中

然后在liuxg2中的项目中有如下代码

 ServletContext context =session.getServletContext();  ServletContext liuxg1 = context.getContext("/liuxg1");     out.print("user=" + (String)liuxg1.getAttribute("user")); 

该代码的作用是将项目liuxg1的上下文存放的key为user的value拿出。

appBase和docBase可以让你指定项目的存放路径

接下来配置虚拟主机,也很简单,只需要在server.xml的engine节点下配置多个host即可

<Engine name="Catalina" defaultHost="localhost">      <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />      </Host>      <Host name="www.liuxg1.com"  appBase="E:\liuxg\"            unpackWARs="true" autoDeploy="true">        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />        <Context path="/" docBase="/liuxg1" reloadable="true" />        </Host>      <Host name="www.liuxg2.com"  appBase="E:\liuxg\"            unpackWARs="true" autoDeploy="true">        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />        <Context path="/" docBase="/liuxg2" reloadable="true" />        </Host>    </Engine>

虚拟的主机的左右,可以让你根据域名的不同访问不同的项目,这些项目都可以放在同一个tomcat下,且这些域名都是同端口

0 0