溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

為什么要web項(xiàng)目配置虛擬目錄

發(fā)布時(shí)間:2021-02-20 16:30:20 來(lái)源:億速云 閱讀:293 作者:小新 欄目:服務(wù)器

這篇文章給大家分享的是有關(guān)為什么要web項(xiàng)目配置虛擬目錄的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

 為什么要給 web 項(xiàng)目配置虛擬目錄?

初學(xué) JavaWeb 時(shí),會(huì)發(fā)現(xiàn)只要我們把 web 項(xiàng)目放到 Tomcat 的 webapps 目錄下,再通過(guò) http://localhost:8080/項(xiàng)目名稱(chēng)/某個(gè)頁(yè)面 就可以訪(fǎng)問(wèn)該網(wǎng)站了??墒沁@樣并不符合規(guī)范,最好還是把 web 項(xiàng)目文件和 Tomcat 的安裝文件分開(kāi)。那如何實(shí)現(xiàn)這個(gè)要求呢?當(dāng)然是給 web 項(xiàng)目配置虛擬目錄啦。

如何給 web 項(xiàng)目配置虛擬目錄?

前面已經(jīng)說(shuō)了,我們要把項(xiàng)目文件和 Tomcat 安裝文件分離開(kāi)。假設(shè)我們這里把 test 項(xiàng)目放在 D 盤(pán)的根目錄下。配置虛擬目錄的方法官方提供了五種,這里只介紹兩種。

方法一

在 conf 目錄下的 server.xml 文件的 Host 標(biāo)簽下添加 Context 標(biāo)簽<Context path="/test" docBase="D:\test"/>,改完后的如下所示,這樣只需要在地址欄輸入:http://localhost:8080/test/index.html 就可以訪(fǎng)問(wèn) test 項(xiàng)目的 index 頁(yè)面了。但是這種方式的缺點(diǎn)是需要重啟服務(wù)器才能生效。

<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 &quot;%r&quot; %s %b" />

   </Host>

方法二

在 conf\Catalina\localhost 目錄下新建一個(gè)名為 test1 的 XML 文件,內(nèi)容寫(xiě)上<Context docBase="D:\test1"/> 就可以了。這種方法可以不用重啟 Tomcat ,就能立即生效。在地址欄輸入:http://localhost:8080/test1/index.html 就可以訪(fǎng)問(wèn) web 項(xiàng)目的 index.html 文件了。虛擬目錄的路徑名可以任意,并不一定要和項(xiàng)目名稱(chēng)相同。

為什么這兩種方法都是通過(guò)修改這種 XML 文件就起作用了呢?這是因?yàn)?Tomcat 程序?qū)⑦@種需要改變的內(nèi)容寫(xiě)在 XML 配置文件中,然后在程序運(yùn)行的時(shí)候來(lái)尋找這種信息,以達(dá)到不用修改程序源碼就能夠改變程序運(yùn)行的目的。以后的學(xué)習(xí)中經(jīng)常會(huì)遇到配置文件的哦!

如何將網(wǎng)站進(jìn)行云部署,能夠讓別人也能訪(fǎng)問(wèn)這個(gè)網(wǎng)站呢?

現(xiàn)在你已經(jīng)購(gòu)買(mǎi)了云服務(wù)器和域名,并做好了解析。你想要通過(guò)你的域名www.jb51.net訪(fǎng)問(wèn)你的網(wǎng)站,該怎么做呢?

你需要在 server.xml 文件的 <Engine>標(biāo)簽下新建一個(gè)<Host>標(biāo)簽,內(nèi)容如下:

<Host name="www.jb51.net" appBase="webapps"
      unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="D:\test"/> 
</Host>

再將 server.xml 中的第一個(gè)<Connector>標(biāo)簽改為如下所示,也就是把 8080 端口改為 80

<Connector port="80" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />

總結(jié)一下,就是新建了一個(gè)主機(jī)(Host) ,主機(jī)名為 www.jb51.net ,因?yàn)?http 協(xié)議默認(rèn)采用 80 端口,所以不用指定端口號(hào)了,在不給出任何路徑時(shí),就默認(rèn)訪(fǎng)問(wèn) D 盤(pán)下的 test 項(xiàng)目,至于該訪(fǎng)問(wèn) test 項(xiàng)目的那個(gè)頁(yè)面這還需要指定。

一般是需要在對(duì)應(yīng) web 項(xiàng)目的 web.xml 文件中添加如下代碼,就會(huì)默認(rèn)訪(fǎng)問(wèn) index.html 的頁(yè)面,但是 Tomcat 的 web.xml 文件已經(jīng)寫(xiě)好了,所以并不需要另外指定。

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

感謝各位的閱讀!關(guān)于“為什么要web項(xiàng)目配置虛擬目錄”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI