2019-12-31 17:28:38 一般只需要把Java站點文件夾或*.war文件拷貝到Web Server的webapps文件夾下,即可啟動運行該站點,但更多時候,我們並不想拷貝站點,而是希望Web在Server文件夾之外運行,這時就需要配置虛擬目錄了。不同的WebServer配置虛擬目錄的方 ...
2019-12-31 17:28:38
一般只需要把Java站點文件夾或*.war文件拷貝到Web Server的webapps文件夾下,即可啟動運行該站點,但更多時候,我們並不想拷貝站點,而是希望Web在Server文件夾之外運行,這時就需要配置虛擬目錄了。不同的WebServer配置虛擬目錄的方式不太一樣,這裡的配置方法僅針對Tomcat和Jetty.
1、Tomcat:找到並打開Tomcat目錄下的conf/server.xml文件,在Host小節中添加以下配置即可:
<Context path="/myvpath" debug="0" docBase="d:/myWebtest" reloadable="true"> </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配置的是站點的真實路徑。
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.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">/forward</Set> 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.forward</Item> 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即可~
完成