1. 程式人生 > >Java Web 工程目錄結構

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 目錄

    放置構建專案生成的所有輸出。