web模块, 也就是 Servlet 规范中的web应用。在Java EE架构中, web模块(web module) 是最小的web部署单元。 其中包含web组件以及静态资源; 如图片之类的静态资源也被称为 web资源。
除web组件和web资源以外, web模块中还可以包含其他文件, 例如服务端运行所需的工具类,JAR 包等等。
web模块有特定的结构。顶层目录对应Web应用的 document root. 可以存放 HTML页面, 静态web资源等等。
根目录下面包含一个 WEB-INF
文件夹, 其中可以包含以下文件和目录:
-
classes
目录, 存放服务端相关的 class: 如 servlet、bean, 工具类, 以及运行时资源, 如XML,配置文件等等。 -
lib
目录, 其中存放各种 JAR 文件 -
web.xml
等部署说明信息(Deployment descriptors)
使用 JavaServer Face 技术时, 如果需要指定特别的安全信息, 或者覆盖 web component 上的注解配置, 则需要通过 web.xml
文件来指定。
根据需要, 在根目录和 WEB-INF/classes/
下面, 可以添加文件夹或package。
web模块可以解压为文件夹来部署, 也可以部署为单个WAR包(Web Archive), 本质上WAR包是一个ZIP格式的JAR文件. 因为WAR里面的内容和常规的JAR不同, 所以使用 .war
后缀来区分。 web模块具有可移植性(portable); 能部署到符合Java Servlet规范的各种web容器里。
web模块结构。根目录下面包含 WEB-INF
和web页面/目录。WEB-INF下面包含 lib 和 classes 目录。
└── index.jsp
└── WEB-INF
└── web.xml
└── lib
└── xxx-1.0.jar
└── classes
└── com/package/xxx/XXXServlet.class
└── xxx.properties
原文链接: https://docs.oracle.com/javaee/7/tutorial/packaging003.htm
翻译日期: 2018年1月21日