本文會盡量對 java web 項目的目錄結構作出最詳細的解釋,儘可能作到淺顯易懂。java
Apache Tomcat v7.0 是指這個項目所依賴的服務器(Tomcat)的目錄。web
Web App Libraries 是本身導入的項目依賴 jar 包,Web App Libraries 下的全部 jar 包均可以在本地的項目名\WebContent\WEB-INF\lib 中找到。若是你直接在WEB-INF/lib文件夾下,copy 一個 jar 包,刷新一下,會自動編譯到 Web App Library 中。spring
Referenced Libraries 是編譯環境下使用的 jar 包, 所謂編譯環境下使用的 jar 包, 就是說你在 Eclipse 中進行源文件的編寫的時候, 所須要引用到的類都從 Referenced Libraries 這個集合中的 jar 包中拿。這裏導入和配置 ja r包,都是爲了讓 web 工程可以在 eclipse 開發環境能夠正常編譯,不報錯而已。tomcat
build:eclipse新建的 Dynamic web project 默認是將類編譯在 build 文件夾下。能夠在本地的項目名\build\classes 下查看。服務器
WebContent:通常咱們用 Eclipse 的時候建立一個 Web Project,就會生成 WebContent 文件夾,用 MyEclipse 的時候建立一個 Web Project,就會生成 WebRoot 文件夾,這兩個文件夾做用同樣只是名稱不一樣而已。WebContent 用來存放 JSP,JS,CSS,圖片等文件,是項目訪問的默認路徑,也是工程的發佈文件夾,發佈時會把該文件夾發佈到 tomcat 的 webapps 裏。mvc
common:用來存放公用的 JSP,JS,CSS,圖片等文件。app
META-INF:存放一些 meta information 相關的文件的這麼一個文件夾, 通常來講儘可能不要本身手工放置文件到這個文件夾。eclipse
WEB-INF:WEB-INF 目錄是一個專用區域, 容器不能把此目錄中的內容提供給用戶。這個目錄下的文件只供容器使用,裏面包含不該該由客戶直接下載的資源。Web 容器要求在你的應用程序中必須有 WEB-INF 目錄。WEB-INF 中包含着發佈描述符(也就是 web.xml 文件), 一個 classes 目錄和一個 lib目錄, 以及其它內容。注意: 若是你的 Web 應用程序中沒有包含這個目錄, 它可能將沒法工做 。webapp
web.xml:發佈描述符(deployment descriptors)是 J2EE Web 應用程序不可分割的一部分(也就是說是它的最小部分, 必不可缺的一部分)。它們在應用程序發佈以後幫助管理 Web 應用程序的配置。jsp
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:首頁頁面
一張圖搞定:
原文連接:https://www.jianshu.com/p/91050dfcbe33