maven实战(八)Maven web项目的目录结构

时间:2023-02-25 11:43:13

Web项目的目录结构

之前我们讨论的都是JAR或者POM的Maven项目,但在现今的互联网时代,我们创建的大部分应用程序都是Web应用,基于Java的Web应用,其标准的打开方式是war。 WAR与JAR相似,只不过他可以包含更多的内容,如JSP文件、Servlet、Java类、web.xml配置文件、依赖JAR包、静态web资源(如HTML、CSS、JavaScript文件)等。一个典型的WAR文件会有如下目录结构:maven实战(八)Maven web项目的目录结构
一个WAR包下至少包含两个子目录:META-INF和WEB-INF。前者包含了一些打包元数据信息,我们一般不去关心;后者是WAR包的核心,WEB-INF下必须包含一个Web资源表述文件web.xml,它的子目录classes包含所有Web项目的类,而另一个子目录lib则包含所有该Web项目的依赖JAR包,classes和lib目录都会在运行的时候加入到classpath中。除了META-INF和WEB-INF外,一般的WAR包都会包含很多web资源,例如你往往可以在WAR包的根目录下看到很多html或者JSP文件。此外,还能看到一些文件夹如img、css和js,它们会包含对应的文件供页面使用。
而web项目也有其目录结构,如下: maven实战(八)Maven web项目的目录结构