- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间: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. 参数配置 12
7. 数据库检查 13
8. 核心模块 13
8.1 核心模块作用 13
8.2 启动检查 14
8.3 工具类 14
8.4 日志支持 14
9. 附录 15
9.1 MANIFEST.MF文件编辑问题 15
前言
模块化要做什么?
模块化的目标是将WEB应用的所有内容打到一个jar包中(每个模块都以一个jar包的形式存在这样模块的粒度就可以随意掌握,利于框架的管理和版本升级
模块化的技术支持
Servlet3.0模块化支持
?Servlet从3.0开始支持各Web应用的模块化,也就是说从Servlet3.0开始,我们可以把各Web应用单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了。(包括各种资源文件以及web.xml的配置都可以打包到jar中)
Web模块打成的jar包的内容的文件结构要求是这个样子的:
其中web-fragment.xml文件是必须要的。上述目录结构就相当于在我们的类路径下有一个META-INF目录,该目录下有web-fragment.xml文件及包含jsp、图片等资源的resources目录。
web-fragment.xml
web-fragment.xml文件的作用与Web应用下的web.xml文件的作用是相似的,在web.xml文件可以配置的信息都可以在web-fragment.xml文件中进行配置。此外,它们的文档结构也非常的相似。所不同的是web-fragment.xml文件的根元素是web-fragment,所使用的schema也是web-fragment相应的schema
web-fragment?version=3.0?xmlns=/xml/ns/javaee??
???xmlns:xsi=/2001/XMLSchema-instance??
???xsi:schemaLocation=/xml/ns/javaee?/xml/ns/javaee/web-fragment_3_0.xsd??
?? ??
/web-fragment??
在web-fragment.xml文件中我们可以通过name元素来指定当前模块的名称,用ordering元素来指定当前模块相对的加载顺序。ordering元素下面可以指定before或after元素,而before和after元素下又可以指定name和others元素。指定ordering的示例如下。
在其他模块之前加载
ordering??
???!--?在其它模块之前加载?--??
???before??
??????others/??
???/before??
/ordering??
ordering??
???!--?在指定模块之后加载?--??
???after??
??????name模块名称/name??
???/after??
/ordering??
web-fragment.xml文件里面通过ordering元素定义当前模块的加载顺序外,我们还可以在web.xml文件中通过absolute-ordering元素指定各模块的加载顺序。而且web.xml文件中指定的加载顺序比web-fragment.xml文件中指定的加载顺序具有更高的优先级。如:
absolute-ordering??
???namemodule1/name??
???namemodule2/name??
???namemodule3/name??
???others/??
/absolute-ordering??
更多内容请参考Servlet3.0规范。
模块化示例
接下来我们来展示一个创建web模块的例子。假设我们要创建一个叫做module1的模块,其中含有一个Module1Servlet,其代码如下所示:
public?class?Module1Servlet?extends?HttpServlet?{ ??
? ??
???private?static?final?long?serialVersionUID?=?1L; ??
? ??
???@Override??
???protected?void?doGet(HttpServletRequest?r
您可能关注的文档
最近下载
- 45-2024年深圳市中考数学试卷(学生回忆3.0版本,杨帆老师整理).docx VIP
- 公德心弘扬传统主题班会PPT课件.pptx VIP
- 2025年赣西科技职业学院单招职业适应性测试题库带答案(预热题).docx VIP
- 人教版小学四年级下册数学教案(表格式).doc VIP
- 2025年空气压缩机整体行业分析报告及未来五到十年行业发展趋势报告.docx
- 文明施工、环境保护管理体系及施工现场扬尘治理措施、建筑垃圾处理方案精品.pdf
- 鲁科版四年级上册劳动项目一 清洁与卫生——班级卫生大扫除(课件).pptx
- xxx加油站安全风险分级管控与隐患排查治理双重预防机制.doc
- 小学语文2022版新课标测试题含答案.doc VIP
- 大模型时代的具身智能.pptx
文档评论(0)