框架模块化开发规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
框架模块化开发规范2015年8月
更新历史
编写人日期版本号变更内容萧海生2015-08-31 0.01 初次编写
1. 前言 (4)
1.1 模块化要做什么? (4)
1.2 模块化的技术支持 (4)
2. 模块化项目目录结构 (8)
2.1 目录结构结构说明 (9)
3. MAINFEST.MF文件配置 (10)
4. pom.xml文件配置 (11)
5. 依赖与引用 (12)
6. 参数配置 (13)
7. 数据库检查 (13)
8. 核心模块 (14)
8.1 核心模块作用 (14)
8.2 启动检查 (14)
8.3 工具类 (15)
8.4 日志支持 (15)
9. 附录 (15)
9.1 MANIFEST.MF文件编辑问题 (15)
1.前言
1.1 模块化要做什么?
模块化的目标是将WEB应用的所有内容打到一个jar包中(包括类文件、页面文件、JS文件、CSS文件以及配置文件等)。每个模块都以一个jar包的形式存在,这样模块的粒度就可以随意掌握,以利于框架的管理和版本升级。
1.2 模块化的技术支持
1.2.1Servlet3.0模块化支持
Servlet从3.0开始支持各Web应用的模块化,也就是说从Servlet3.0开始,我们可以把各Web应用单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了。(包括各种资源文件以及web.xml的配置都可以打包到jar中)Web模块打成的jar包的内容的文件结构要求是这个样子的:
|--META-INF
| |--web-fragment.xml
| |--resources
| | |--jsp、图片等,相当于web的根目录
|--class文件和类路径下的文件
其中web-fragment.xml文件是必须要的。上述目录结构就相当于在我们的类路径下有一个META-INF目录,该目录下有web-fragment.xml文件及包含jsp、图片等资源的resources目录。
1.2.1.1 web-fragment.xml
web-fragment.xml文件的作用与Web应用下的web.xml文件的作用是相似的,在web.xml文件可以配置的信息都可以在web-fragment.xml文件中进行配置。此外,它们的文档结构也非常的相似。所不同的是web-fragment.xml文件的根元素是web-fragment,所使用的schema也是web-fragment相应的schema,配置如下:
1. 2.xmlns:xsi="http://www.w /2001/XMLSchema-instance" 3.xsi:schemaLocation="/xml/ns/javaee http://java.sun.c om/xml/ns/javaee/web-fragment_3_0.xsd"> 4. 5.
在web-fragment.xml文件中我们可以通过
在其他模块之前加载
1.
2.
3.
4.
5.
6.
在指定模块之后加载
1.
2.
3.
4.
5.
6.
除了可以在web-fragment.xml文件里面通过
1.
2.
3.
4.
5.
6.
更多内容请参考Servlet3.0规范。
1.2.1.2 模块化示例
接下来我们来展示一个创建web模块的例子。假设我们要创建一个叫做module1的模块,其中含有一个Module1Servlet,其代码如下所示:
1.public class Module1Servlet extends HttpServlet {
2.
3.private static final long serialVersionUID = 1L;
4.
5.@Override
6.protected void doGet(HttpServletRequest req, HttpServletResponse resp)
7.throws ServletException, IOException {
8.this.doPost(req, resp);
9. }
10.
11.@Override
12.protected void doPost(HttpServletRequest req, HttpServletResponse resp)
13.throws ServletException, IOException {
14. req.getRequestDispatcher("/module1.jsp").forward(req, resp);
15. }
16.
17.}
接着我们在类路径下创建一个META-INF文件夹,在该文件夹下创建一个resources 目录,在resources目录下创建一个module1.jsp文件。接着在META-INF目录下创建一个web-fragment.xml文件,其内容如下:
1. 2.xmlns:xsi="http://www.w /2001/XMLSchema-instance"