Java Web 工程目錄結構
相關文章
為了使 Web 容器順利地執行 Web 應用,開發者需要以一種標準的方式將 Web 專案中的資源(servlets、JSP 等)打包。一個 Web 專案的目錄結構可分為兩種:
-
釋出目錄結構
Web 容器載入 Web 應用的統一標準目錄。
-
編譯目錄結構
一種方便 Web 工程編寫、修改的臨時結構,需要通過構建工具(ant、maven 等)編譯生成最終的釋出目錄結構。因此編譯目錄結構並不統一,與所使用的編譯工具(以及配置)有關。
釋出目錄結構
Web 專案的釋出目錄結構如下所示:
HelloWorld/ ├── index.jsp ├── META-INF │ └── MANIFEST.MF └── WEB-INF ├── classes ├── lib └── web.xml
-
index.jsp
靜態資源(jsp、html、css、js 以及 png 等)可直接放在 HelloWorld/ 中,也可在 HelloWorld/ 下建立相應的目錄分別放置。
-
META-INF 目錄
MANIFEST.MF 包含 Web 應用的版本等資訊。
-
WEB-INF 目錄
classes 目錄包含 Web 應用中所有的已編譯 Java 類檔案(以及配置檔案等),是 Web 應用的核心部分,實現具體的業務邏輯。
lib 目錄包含 Web 應用使用的所有類庫檔案(即第三方 JAR 檔案)。
web.xml 是該 Web 專案的配置檔案,用來供 Web 容器部署和執行 Web 應用。
編譯目錄結構
Web 專案的編譯目錄結構(使用 maven 構建)如下所示:
my-app/ ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── mycompany │ │ │ └── app │ │ │ └── App.java │ │ ├── resources │ │ └── webapp │ └── test │ ├── java │ │ └── com │ │ └── mycompany │ │ └── app │ │ └── AppTest.java │ └── resources └── target
-
pom.xml
專案的配置檔案,包含構建一個專案所需的大多數資訊(主要是依賴的類庫)。
-
src/main/java 目錄
放置專案的原始碼。
-
src/main/resources 目錄
放置專案的資源。
-
src/main/webapp 目錄
放置 Web 專案的釋出目錄結構,其中包括 META-INF 以及 WEB-INF 目錄。
web.xml 檔案放置在 WEB-INF 目錄中。
-
src/test/java 目錄
放置專案測試的原始碼。
-
src/test/resources 目錄
放置專案測試的資源。
-
target 目錄
放置構建專案生成的所有輸出。