j2ee Web应用程序的标准项目/包结构


问题内容

我们正在使用Spring,Sping MVC和Hibernate启动一个新的Java EE Web应用程序。我们很可能也会使用Maven。

在开始之前,我们需要为Web应用程序提出项目/包结构。

Java EE Web应用程序的标准项目/包结构是什么?

它也应该在所有应用程序服务器上运行,而不会对项目结构或任何配置文件进行任何更改。

我们将使用Spring source IDE版本2.6.0(最新版本)。

有任何想法吗?


问题答案:

如果您正在使用Maven,则最好遵循标准的Maven项目布局。您可以这样做,让maven为您生成此结构,

mvn archetype:generate

并从选择列表中选择spring-mvc-jpa-archetype

这将为您提供一个包结构,例如

  ├── pom.xml
  └── src
      ├── main
      │   ├── java
      │   │   └── mygroup
      │   │       ├── controller
      │   │       │   ├── HomeController.java
      │   │       │   └── PersonController.java
      │   │       ├── dao
      │   │       │   └── PersonDao.java
      │   │       └── model
      │   │           └── Person.java
      │   ├── resources
      │   │   ├── db.properties
      │   │   ├── log4j.xml
      │   │   └── META-INF
      │   │       └── persistence.xml
      │   └── webapp
      │       ├── index.html
      │       ├── META-INF
      │       │   ├── context.xml
      │       │   └── MANIFEST.MF
      │       ├── resources
      │       │   └── css
      │       │       └── screen.css
      │       └── WEB-INF
      │           ├── spring
      │           │   ├── app
      │           │   │   ├── controllers.xml
      │           │   │   └── servlet-context.xml
      │           │   ├── db.xml
      │           │   └── root-context.xml
      │           ├── views
      │           │   ├── edit.jsp
      │           │   ├── home.jsp
      │           │   └── list.jsp
      │           └── web.xml
      └── test
          ├── java
          │   └── mygroup
          │       ├── controller
          │       │   ├── DataInitializer.java
          │       │   ├── HomeControllerTest.java
          │       │   └── PersonControllerTest.java
          │       └── dao
          │           └── PersonDaoTest.java
          └── resources
              ├── db.properties
              ├── log4j.xml
              ├── test-context.xml
              └── test-db.xml