web項目部署結構

---------------------------- web項目部署結構----------------------------

1. Web項目

1 Web項目部署後目錄結構

tomcat\webapps目錄是用來存放Java項目的,每個文件夾都是一個項目。默認這個目錄下已經有了四個項目,都是tomcat自帶的。其中ROOT就是我們測試Tomcat時訪問的Tomcat主項目。

我們要創建自己的項目,需要遵循JavaEE目錄結構規範,下面是hello項目的目錄結構

                       Hello   (必須出現的)

                            |------存放web資源。(jsp, xml, HTML  CSS  JS圖片...)

                            |------  WEB-INF     (必須出現的)

                                   |------ web.xml   (必須出現的)

                                   |------classes            Java類的編譯路徑(Servlet、自定義類 )

                                   |------lib                   需要引入的第三方的jar包.

 

hello是項目目錄,項目目錄下必須有一個名爲WEB-INF的目錄(必須大寫),在WEB-INF目錄下必須有一個web.xml文件。

WEB-INF目錄是受保護目錄,這下面的東西用戶是不能直接訪問的,但動態頁面是可以訪問的。通常WEB-INF下還會存在lib和classes,lib下存放項目所需的jar文件,classes目錄下存在項目所需的class文件!

如果直接訪問WEB-INF就會找不到路徑,


web.xml文件中只需要給出XML文檔聲明,以及根元素。當然,根元素中包含很多與名稱空間相關屬性,背下來是有難度的,不過我們可以去webapps下的其他項目中去“借”。

2 發佈項目三種方式

Ø  第一種:就是把項目放到webapps目錄下,即localhost主機名對應的項目空間目錄中。

訪問http://localhost/hello/hello.html

Ø  第二種:可以把項目放到任何目錄,然後通過添加<Context>元素(Context開頭是大寫)來指定項目的真實位置。在<Host>元素中添加<Context>元素,然後指定<Context>元素的pathdocBase屬性,其中path指定的是項目虛擬路徑,可以隨意給出,例如abc。docBase指定你的項目的真實存放的路徑。

例如,項目的真實目錄在F:\hello。你找到server.xml中的<Host>元素,給其添加子元素<Context>,內容如下:

 

注意,一旦給出了docBase屬性的值後,訪問localhost的abc項目時,就不會再去webapps目錄下去查找項目,而是通過docBase的值來鎖定項目位置,即F:\hello1。

注意,訪問項目的URL:http://localhost/abc/index.jsp,而不是http://localhost/hello1/index.jsp,你可能會說,我們的項目目錄名叫hello1,但因爲指定了<Context>元素的path屬性,那麼訪問項目時就不會再使用項目目錄名來作爲訪問路徑了。

Ø  第三種方式與第二種比較相似,第三種是使用外部文件來添加<Context>元素。這需要在conf目錄下找到catalina\localhost目錄,然後在這個目錄下創建一個XML文件,這個名稱就是虛擬路徑名。例如創建的XML文件名爲def.xml,然後在def.xml文件中添加如下內容

<ContextdocBase="F:\hello1"/>                              

注意,這裏沒有給出path屬性,因爲已經不用給出了,path的值由XML文件的名稱決定。也就是說path的值爲def。訪問URL爲:http://localhost/def/index.jsp。

發佈了205 篇原創文章 · 獲贊 125 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章