2019-12-31 17:28:38
一般只需要把Java站点文件夹或*.war文件拷贝到Web Server的webapps文件夹下,即可启动运行该站点,但更多时候,我们并不想拷贝站点,而是希望Web在Server文件夹之外运行,这时就需要配置虚拟目录了。不同的WebServer配置虚拟目录的方式不太一样,这里的配置方法仅针对Tomcat和Jetty.
1、Tomcat:找到并打开Tomcat目录下的conf/server.xml文件,在Host小节中添加以下配置即可:
当然如果不想修改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配置的是站点的真实路径。
2、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.WebInfConfigurationItem> 7 <Item>org.mortbay.jetty.plus.webapp.EnvConfigurationItem> 8 <Item>org.mortbay.jetty.plus.webapp.ConfigurationItem> 9 <Item>org.mortbay.jetty.webapp.JettyWebXmlConfigurationItem> 10 <Item>org.mortbay.jetty.webapp.TagLibConfigurationItem> 11 Array> 12 Set> 13 <Set name="contextPath">/forwardSet> 14 <Set name="baseResource"> 15 <New class="org.mortbay.resource.ResourceCollection"> 16 <Arg> 17 <Array type="java.lang.String"> 18 <Item>D:/jetty-6.1.26/mxci.forwardItem> 19 Array> 20 Arg> 21 New> 22 Set> 23 Configure>
项目配置根据自己实际环境进行配置然后启动jetty, 完成。
;3、Jetty默认编码修改
Jetty6.1.21 eclipse插件,默认的编码采用的utf8,非iso-8859-1(tomcat默认是iso-8859-1),从而会引出get请求参数乱码问题。
jetty与tomcat不同,不是在xml配置文件中修改,可以在Jvm参数中加入:Dorg.mortbay.util.URI.charset=iso8859-1即可~
完成