本博客為原創:綜合 尚硅谷(http://www.atguigu.com)的系統教程(深表感謝)和 網絡上的現有資源(博客,文檔,圖書等),資源的出處我會標明
本博客的目的:①總結自己的學習過程,相當於學習筆記 ②將自己的經驗分享給大家,相互學習,互相交流,不可商用
內容難免出現問題,歡迎指正,交流,探討,可以留言,也可以通過以下方式聯系。
本人互聯網技術愛好者,互聯網技術發燒友
微博:伊直都在0221
QQ:951226918
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.WEB程序結構
1)一個 web 應用程序是由一組 Servlet,HTML 頁面,類,以及其它的資源組成的運行在 web 服務器上的完整的應用程序,以一種結構化的有層次的目錄形式存在;
2)組成 web 應用程序的這些文件要部署在相應的目錄層次中,根目錄代表整個 web 應用程序的”根”;
3)通常將 web 應用程序的目錄放在 webapps 目錄下,在 webapps 目錄下的每一個子目錄都是一個獨立的 web 應用程序,子目錄的名字就是 web 應用程序的名字,也就是 web 應用程序的“根”。用戶通過 web 應用程序的”根”來訪問 web 應用程序中的資源.
4)一個例子:servlet規范定義的 web應用程序的目錄層次

說明:① WEB-INF目錄下的classes和lib目錄都可以存放Java的類文件,在Servlet容器運行時,Web應用程序的類加載器將首先加載classes目錄下的,其次才是lib目錄下的類。如果這兩個目錄下存在同名的類,起作用的將是classes目錄下的類
②WEB-INF 是一個特殊的目錄(所有字母都要大寫)。這個目錄並不屬於Web應用程序可以訪問的上下文路徑的一部分,對客戶端來說,這個目錄是不可見的。但該目錄下的內容對於Servlet代碼是可見的
5)tomcat中的相關規定:http://localhost:8080/docs/appdev/deployment.html

2.關於配置任意目錄下的Web應用程序
· 在Web服務器中可以配置虛擬目錄,而虛擬目錄所對應的真實目錄可以在任何路徑下;
· 在Tomcat服務器中,主要在 XML 配置文件中通過<Context>元素的設置來完成的。一個<Context>元素就表示一個Web應用程序,運行在特定的虛擬主機中;
· <Context>元素是<Host>元素的子元素,可以在conf\server.xml文件中設置Context元素

1)方式一:<Context>元素是<Host>元素的子元素,可以在conf\server.xml文件中設置Context元素

使用docBase屬性指定Web應用程序的真實路徑。將屬性reloadable設置為true,Tomcat在運行時會自動監測Servlet類的改動,如果發現有類被更新,Tomcat服務器將自動重新加載該Web應用程序。這樣,在開發時,就不需要頻繁重啟Tomcat了
2)方式二:在$TOMCAT/conf目錄下依次創建Catalina\localhost目錄,然后在localhost目錄下為 自己的應用創建一個 應用名稱.xml(對應的應用的xml描述文件,例如 test.xml)編輯這個文件輸入以下內容
<Context path="/test" docBase="c:/test" reloadable="true" />
從Tomcat 5.5開始,在\conf\Catalina\localhost目錄下創建XML配置文件來配置Web應用程序,Tomcat將以XML文件的文件名將作為Web應用程序的上下文路徑,而不理會在<Context>元素的path屬性中指定的上下文路徑是什么。由於Tomcat 5.5之后的版本是以XML配置文件的文件名作為Web應用程序的上下文路徑的,因此在配置<Context>元素時,可以不使用path屬性
3.最后說兩句
1)對於web的目錄結構一定有所了解,對於開發而言,一般的目錄是很多的且繁雜。熟悉了目錄結構就可以方便的定位代碼故障
2)了解tomcat的 webapp 和 work目錄
3)本篇博客是對於java web項目的一個基礎的了解學習,在開發中eclipes已經有了很好的自動化的方式。
