為什么要給 web 項目配置虛擬目錄?
初學 JavaWeb 時,會發現只要我們把 web 項目放到 Tomcat 的 webapps 目錄下,再通過 http://localhost:8080/項目名稱/某個頁面 就可以訪問該網站了??墒沁@樣并不符合規范,最好還是把 web 項目文件和 Tomcat 的安裝文件分開。那如何實現這個要求呢?當然是給 web 項目配置虛擬目錄啦。
如何給 web 項目配置虛擬目錄?
前面已經說了,我們要把項目文件和 Tomcat 安裝文件分離開。假設我們這里把 test 項目放在 D 盤的根目錄下。配置虛擬目錄的方法官方提供了五種,這里只介紹兩種。
方法一
在 conf 目錄下的 server.xml 文件的 Host 標簽下添加 Context 標簽<Context path="/test" docBase="D:/test"/>,改完后的如下所示,這樣只需要在地址欄輸入:http://localhost:8080/test/index.html 就可以訪問 test 項目的 index 頁面了。但是這種方式的缺點是需要重啟服務器才能生效。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <Context path="/test" docBase="D:/test"/> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
方法二
在 conf/Catalina/localhost 目錄下新建一個名為 test1 的 XML 文件,內容寫上<Context docBase="D:/test1"/> 就可以了。這種方法可以不用重啟 Tomcat ,就能立即生效。在地址欄輸入:http://localhost:8080/test1/index.html 就可以訪問 web 項目的 index.html 文件了。虛擬目錄的路徑名可以任意,并不一定要和項目名稱相同。
為什么這兩種方法都是通過修改這種 XML 文件就起作用了呢?這是因為 Tomcat 程序將這種需要改變的內容寫在 XML 配置文件中,然后在程序運行的時候來尋找這種信息,以達到不用修改程序源碼就能夠改變程序運行的目的。以后的學習中經常會遇到配置文件的哦!
如何將網站進行云部署,能夠讓別人也能訪問這個網站呢?
現在你已經購買了云服務器和域名,并做好了解析。你想要通過你的域名www.49028c.com訪問你的網站,該怎么做呢?
你需要在 server.xml 文件的 <Engine>標簽下新建一個<Host>標簽,內容如下:
<Host name="www.49028c.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="D:/test"/> </Host>
再將 server.xml 中的第一個<Connector>標簽改為如下所示,也就是把 8080 端口改為 80
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
總結一下,就是新建了一個主機(Host) ,主機名為 www.49028c.com ,因為 http 協議默認采用 80 端口,所以不用指定端口號了,在不給出任何路徑時,就默認訪問 D 盤下的 test 項目,至于該訪問 test 項目的那個頁面這還需要指定。
一般是需要在對應 web 項目的 web.xml 文件中添加如下代碼,就會默認訪問 index.html 的頁面,但是 Tomcat 的 web.xml 文件已經寫好了,所以并不需要另外指定。
<welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>
原來需要通過http://www.49028c.com:8080/項目名/首頁名訪問首頁的,現在只需要通過www.49028c.com 就能訪問了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選