1. 程式人生 > >【web伺服器】——tomcat部署Java Web 專案的三種方式

【web伺服器】——tomcat部署Java Web 專案的三種方式

       最近這些天一直在用tomcat部署公司專案,一回生二回熟,可是還是會出現一些問題,例如tomcat起不來呀,這種常見的錯誤,起來了但是會出現異常等,還有一些奇葩的問題。

       公司開發時沒有網,那幾天查資料解決問題花了我好多流量,心疼啊~於是乎,我們還是先了解一些原理性的東西比較好,這樣出現了問題能夠快速的對問題進行定位,不至於在網路的海洋中轉暈了~

       那麼我們是如何用tomcat部署專案呢,怎麼著我們就可以訪問頁面了呢?

        部署web應用,我們就先要讓web伺服器找到web應用程式。

        那web伺服器是什麼呢?web伺服器就是一個容器,它可以向發出請求的瀏覽器提供文件的程式,它可以放置網站檔案,讓全世界瀏覽;也可以放置資料檔案,讓全世界下載。大型的web伺服器主要有Weblogic,Apache,Tomcat,Jboss等,小型的web伺服器有 nginx等。

        那web應用程式又是什麼呢?一個web應用程式就是一個資料夾,資料夾裡有很多子資料夾、資原始檔(例如:JSP檔案,HTML檔案等)、類檔案(編譯後的Servlet檔案,其它的class檔案)、配置檔案(xml檔案)。

       預設情況下,Tomcat伺服器會查詢安裝目錄下的webapps檔案件下的應用程式,當然,我們還可以自定義的新增tomcat查詢應用程式的目錄。所以,就出現瞭如下三種部署方式:

       1、直接將web應用程式放在webapps資料夾下

       2、修改server.xml檔案

       修改<Context>節點下的docBase,以及path屬性的值。

<Context path="/nsbd" reloadable="true" docBase="E:\workspace\nsbd\web" workDir="E:\workspace\nsbd\work" />

       Path:虛擬路徑,用於設定要釋出的web專案的名稱,用於瀏覽器訪問的URL。


       docBase:放置web專案的位置(可以是絕對路徑,也可以是相對路徑),如果為/,則位於webapps目錄下。


       debug:日誌記錄的除錯資訊記錄等級。


       reloadable:為了方便開發人員設定的,true:tomcat將檢測應用程式的/WEB-INF/lib和/WEB-INF/classes目錄的變化,以決定是否自動重新載入變化後的程式。

        3、建立配置檔案進行部署


在/conf/Catalina/localhost目錄下新建一個包含<Context>節點的xml檔案,檔名即為path虛擬路徑下的檔名。在xml檔案中設定的path是無效的。

       例如,我的xml配置檔名稱為examples,而<Context>節點下的path配置的為"/nsbd",則使用“nsbd“是無法訪問到的,使用examples便可以訪問到。

       如圖所示:


       啟動tomcat的start.bat檔案,如果啟動成功,通過xml檔名或path屬性值可以成功訪問頁面,那麼你的web專案就部署成功了。

  總結:

        之前學習Servlet的時候都是直接將web應用程式放在了webapps下或者是修改server.xml,在公司的時候是用的新建配置檔案的方法,其實原理都是一樣的,目的就是讓web伺服器找到web應用程式。而後兩種方法有一個優點就是你可以自定義進行配置,比較方便。