1.2 Web工程的組織圖

來源:互聯網
上載者:User

標籤:應用   定義   list   特殊情況   tps   images   https   path   man   

一個最簡單的Web應用的目錄結構如下所示:

Web應用的結構定義在Servlet的規範中,目前最新版本為3.1。

:https://jcp.org/aboutJava/communityprocess/final/jsr340/index.html

 

Web應用的目錄結構還是很簡單的,不需要開發工具直接按目錄結構組織檔案內容,部署到Servlet容器中就可以直接使用,根目錄就是應用的Context Path。

JSR340即Servlet3.1的規範中描述:Context path of an application determines the URL namespace of the contents of the Web application.

如果只是靜態檔案,都可以不需要WEB-INF以及web.xml,SimpleWebProject下只有一個index.jsp是可以直接存取到的。

另外Servlet規範是支援以程式方式進行配置的,這樣也不需要web.xml。

 

應用比較特殊的是WEB-INF目錄,此路徑不可以由外部直接存取到,因此對於class、jar、設定檔等需要受保護的資源,都應該放到此目錄下。

但對於jar包中/META-INF/resource又是一種特殊情況,這裡的資源被認為是靜態資源,又可以直接被外部存取(其實這麼用的情境很少,不用過多關注)。

 

META-INF目錄也比較特殊,外部不能直接存取。

如果發布程式使用war包,打包程式會把一些應用相關的資訊寫入到MANIFEST.MF檔案中。

如果使用maven進行依賴管理,還會把maven的目錄,內部是pom相關內容。

 

關於Class Loader:

應用的Class Loader是容器的Class Loader的一個子類。

應用的Class Loader需要能夠載入class、lib以及各種資源,並且class的優先順序高於lib。

所有的Class Loader都不能覆蓋Java SE platform class,比如java.*和javax.*命名空間的資源等。

 

關於部署描述符(web.xml)

主要用於定義ServletContext、Session、Servlet、Servlet-Mapping、Listener、Filter,其它像Welcome File list等用的並不多。

Servlet容器根據web.xml就建立了外部請求到部署應用的Servlet的映射關係了。

1.2 Web工程的組織圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.