Tomcat服务器中使用WAR包来部署应用时,WAR包的项目结构必须符合一定的标准,一个Web项目目录中包含Web应用程序代码和配置文件以及静态文件等。

项目文件夹结构

为了简化工程的编译和打包步骤,推荐使用下面的项目文件层次结构。

tomcat-webapp
└── src
    └── main
        ├── java                - 源代码目录
        │   └── com
        │       └── demoapp
        │           └── Hello.java
        ├── resources             - 资源配置文件
        │   └── application.properties
        └── webapp
            ├── 404.jsp             - 404jsp页面
            ├── WEB-INF             - 安全目录
            │   ├── classes           - 已编译的类
            │   ├── lib             - jar库文件
            │ │ └── mysql-connector-java-8.0.8-dmr.jar
            │   ├── views           - 页面模板
            │   │   └── index.mustache      
            │   └── web.xml           - 部署描述文件
            ├── index.jsp           - jsp页面
            └── static              - 静态资源文件
                ├── css             - css样式资源文件
                │   └── demoapp.css
                ├── fonts           - 字体资源文件
                ├── images            - 图像资源文件
                │   └── demoapp.png
                └── js              - JavaScript文件
                    └── bootstrap.min.js       

src/main/java目录下的内容包含您开发的应用程序,即未编译的Java类文件,这些类将被编译成可通过应用程序代码访问的.class文件并置于src/main/webapp/WEB-INF/classes目录中。Java类文件编译完成后,编译好的class文件将被置于webapp/WEB-INF/classes中,并与webapp目录一并被打包部署到服务器上。

webapp根目录文件夹结构

webapp的根目录中存储了HTML页面、JSP页面以及静态资源等内容,这些内容将与WEB-INF一起被打包部署到服务器上。

webapp中除了WEB-INF外的其他内容可通过客户端直接访问,如404.jsp页面和index.jsp页面。static目录中存放CSS样式文件,图片文件和JavaScript文件等可由客户端访问的资源。

webapp
├── 404.jsp
├── WEB-INF
├── index.jsp
└── static
    ├── css
    │   └── demoapp.css
    ├── fonts
    ├── images
    │   └── demoapp.png
    └── js
        └── bootstrap.min.js

WEB-INF子目录文件夹结构

webapp目录下的WEB-INF子目录是Java的Web应用安全目录,客户端无法直接访问其中的内容,但服务端可以访问。WEB-INF子目录包含以下内容:
  • classes目录:包含您开发的应用程序源码编译后的.class文件。
  • lib目录:包含Web应用依赖的各种JAR文件,如数据库驱动JAR文件。
  • views目录:包含页面模板文件,例如mustache文件。
  • web.xml文件:Web应用配置文件。
WEB-INF
├── classes         - 已编译的类
├── lib             - JAR库文件
├── views           - 页面模板
└── web.xml         - Web应用配置文件