本文會盡可能對 java web 項目的目錄結構做出最詳細的解釋,盡量做到淺顯易懂。
eclipse web 項目目錄結構

- 03-springmvc-drien-xgq 是創建的項目名字,這個名字自己可以隨便創建,只要符合命名規則。
- src 和 src_test 里面放的是 java 源程序,也就是你寫的 java 代碼,在這里為了管理方便我只是把原 src 一分為二,變成 src 和 src_test。
- JRE System Library: 指Java SE 的常用庫文件集合,也就是 jar 包,建立普通的Java項目均會使用;比如在我這個項目中,JRE System Library 的內容如下所示:

-
Apache Tomcat v7.0 是指這個項目所依賴的服務器(Tomcat)的目錄。
-
Web App Libraries 是自己導入的項目依賴 jar 包,Web App Libraries 下的所有 jar 包都可以在本地的項目名\WebContent\WEB-INF\lib 中找到。如果你直接在WEB-INF/lib文件夾下,copy 一個 jar 包,刷新一下,會自動編譯到 Web App Library 中。
-
Referenced Libraries 是編譯環境下使用的 jar 包, 所謂編譯環境下使用的 jar 包, 就是說你在 Eclipse 中進行源文件的編寫的時候, 所需要引用到的類都從 Referenced Libraries 這個集合中的 jar 包中拿。這里導入和配置 ja r包,都是為了讓 web 工程能夠在 eclipse 開發環境可以正常編譯,不報錯而已。
-
build:eclipse新建的 Dynamic web project 默認是將類編譯在 build 文件夾下。可以在本地的項目名\build\classes 下查看。
-
WebContent:一般我們用 Eclipse 的時候創建一個 Web Project,就會生成 WebContent 文件夾,用 MyEclipse 的時候創建一個 Web Project,就會生成 WebRoot 文件夾,這兩個文件夾作用一樣只是名稱不同而已。WebContent 用來存放 JSP,JS,CSS,圖片等文件,是項目訪問的默認路徑,也是工程的發布文件夾,發布時會把該文件夾發布到 tomcat 的 webapps 里。
-
common:用來存放公用的 JSP,JS,CSS,圖片等文件。
-
META-INF:存放一些 meta information 相關的文件的這么一個文件夾, 一般來說盡量不要自己手工放置文件到這個文件夾。
-
WEB-INF:WEB-INF 目錄是一個專用區域, 容器不能把此目錄中的內容提供給用戶。這個目錄下的文件只供容器使用,里面包含不應該由客戶直接下載的資源。Web 容器要求在你的應用程序中必須有 WEB-INF 目錄。WEB-INF 中包含着發布描述符(也就是 web.xml 文件), 一個 classes 目錄和一個 lib目錄, 以及其它內容。注意: 如果你的 Web 應用程序中沒有包含這個目錄, 它可能將無法工作 。
-
web.xml:發布描述符(deployment descriptors)是 J2EE Web 應用程序不可分割的一部分(也就是說是它的最小部分, 必不可缺的一部分)。它們在應用程序發布之后幫助管理 Web 應用程序的配置。
-
WEB-INF/classes 目錄,編譯后的 Java類,這個文件夾是可選的。有一些配置文件需要放到 WEB-INF 的 classes 文件夾下,所以,通常的做法是手動在工程的 WEB-INF 文件夾下建立 classes 文件夾。如果不在工程的 WEB-INF 下手動建立 classes,發布到 tomcat 時 tomcat 里的WEB-INF 中也會有 classes 文件夾。
-
WEB-INF/lib 目錄,該目錄中的 jar 包是運行時環境下使用的 jar 包, 所謂運行時環境下使用的 jar 包,就是說你在運行你的項目的時候所需要使用的 jar 包的集合。
-
index.jsp:首頁頁面
Tomcat 目錄結構
一張圖搞定:

原文鏈接:https://www.jianshu.com/p/91050dfcbe33