Java Web app推荐的项目结构

时间:2017-01-09 15:03:51

标签: java web intellij-idea gradle

我使用IntelliJ创建了我的第一个网络应用程序。我想使用Gradle来解决我的依赖关系。根据我创建项目的方式,它的结构不同。

我想知道是否有推荐的网络应用程序项目结构。静态页面放在哪里?在哪里上课?其他资源(如图像)在哪里?在哪里放置其他特定于框架的文件,比如build.gradle文件?

现在我看到三种选择:

如果我将项目创建为Java Web应用程序(文件 - >新项目 - >检查Java :: JavaEE :: Web应用程序 - >下载等...),我将获得以下项目结构:

|-- WebApp.iml
|-- src
`-- web
    |-- WEB-INF
    |   `-- web.xml
    `-- index.jsp

如果我创建Gradle项目(文件 - >新项目 - >检查Gradle :: Java和Gradle :: Web - > Next等...),我会得到以下结构:

|-- build
|   `-- tmp
|       `-- war
|           `-- MANIFEST.MF
|-- build.gradle
|-- GradleWebApp.iml
|-- out
|-- settings.gradle
`-- src
    `-- main
        `-- webapp
            `-- index.jsp

在使用IntelliJ之前,我将基本应用程序手动部署到本地tomcat。项目结构如下:

|-- WEB-INF
|   |-- classes
|   |   `-- servletsPkg
|   |       `-- AServlet.class
|   |-- src
|   |   `-- servletsPkg
|   |       `-- AServlet.java
|   `-- web.xml
|-- images
|   `-- an_image.jpg
|-- index.html
`-- styles.css

1 个答案:

答案 0 :(得分:0)

还发现了这两个相关的stackExchange问​​题:

虽然没有与gradle结合......

然而,终于想出了这个项目结构:

|-- Reference.iml
|-- gradle.build
|-- src
|   |-- java
|   |   `-- servlets
|   |       `-- AServlet.java
|   `-- test
|       `-- java
`-- web
    |-- WEB-INF
    |   `-- web.xml
    |-- resources
    |   `-- AnImage.jpg
    `-- index.html

与Java Web App初始结构最相似。 因为它似乎将应用程序的静态部分与java类分离得更好。我喜欢认为这些类是项目的(唯一的?)真正的“src”。

如果有任何问题,请告诉我。