配置Java站点虚拟目录
一般只需要把Java站点文件夹或*.war文件拷贝到Web Server的webapps文件夹下,即可启动运行该站点,但更多时候,我们并不想拷贝站点,而是希望Web在Server文件夹之外运行,这时就需要配置虚拟目录了。不同的WebServer配置虚拟目录的方式不太一样,这里的配置方法仅针对Tomcat和Jetty。Tomcat:找到并打开Tomcat目录下的conf/server.xml文件,在Host小节中添加以下配置即可:
1:<Context path="/myvpath" debug="0" docBase="d:/myWebtest" reloadable="true"> 2:</Context>
当然如果不想修改server.xml文件,也可以把虚拟目录的配置作为单独的文件添加到相应的目录中,server.xml中缺省都会有localhost的配置,那么相应的也存在conf/Catalina/localhost文件夹,在此文件夹下添加一个xml文件,内容为以下即可:
1:<?xml version='1.0' encoding='utf-8'?> 2: <Context path="/myapp" docBase="D:\myWebtest"debug="1"reloadable="true" > 3: </Context> path属性配置的是虚拟目录的名称,docBase配置的是站点的真实路径。
Jetty:Jetty的全局配置文件在etc/jetty.xml中,可以直接在此配置文件中设置虚拟目录,但一般不建议这么做,推荐的做法是创建独立的配置文件。在contexts目录下创建新的xml文件,内容如下:
1:<?xml version="1.0"encoding="ISO-8859-1"?> 2:<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> 3:<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 4: <Set name="configurationClasses"> 5: <Array type="java.lang.String"> 6: <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item> 7: <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item> 8: <Item>org.mortbay.jetty.plus.webapp.Configuration</Item> 9: <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>10: <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>11: </Array>12: </Set>13: <Set name="contextPath">/myapp</Set>14: <Set name="baseResource">15: <New class="org.mortbay.resource.ResourceCollection">16: <Arg>17: <Array type="java.lang.String"> 18: <Item>d:/java/myApptest</Item> 19: </Array>20: </Arg>21: </New>22: </Set>23:</Configure> 其中的contextPath即为虚拟目录名称,而baseResource中的Item中即为站点真实路径。这里可以看到baseResource中设置的实质上是一个String数组,也就是说这个站点可以有多个文件夹,Jetty允许一个站点的资源文件分布在磁盘不同的位置,Jetty会在运行时查找并在逻辑上合并这个文件夹,这个功能为系统开发提供了极大的便利。
原发布于配置Java站点虚拟目录(2010-10-26 14:35),现转于此!
页:
[1]