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的子目录,该子目录一般包含如下文件和目录,WEB-INF是Java的WEB应用的安全目录,其中的资源客户端无法直接访问,服务端可以访问的目录中的内容,其中有如下内容:
  • classes目录中包含了您开发的应用程序源码编译后的.class文件;
  • lib目录中包含了web应用需要依赖的各种JAR文件,如数据库驱动jar文件;
  • 页面模板文件(如mustache文件);
  • web.xml应用配置文件。
WEB-INF
├── classes         -已编译的类
├── lib             - jar库文件
├── views           - 页面模板
└── web.xml         - web应用配置文件