- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
框架模块化开发标准
2015年8月
更新历史
编写人
日期
版本号
变更内容
萧海生
2015-08-31
0.01
初次编写
TOC\o1-2\h\u1.前言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.1MANIFEST.MF文件编辑问题15
前言
模块化要做什么?
模块化的目标是将WEB应用的所有内容打到一个jar包中〔包括类文件、页面文件、JS文件、CSS文件以及配置文件等〕。每个模块都以一个jar包的形式存在,这样模块的粒度就可以随意掌握,以利于框架的管理和版本升级。
模块化的技术支持
Servlet3.0模块化支持
Servlet从3.0开始支持各Web应用的模块化,也就是说从Servlet3.0开始,我们可以把各Web应用单独拿出来进行开发,之后把它们打成对应的jar包放到主工程中就可以了。〔包括各种资源文件以及web.xml的配置都可以打包到jar中〕
Web模块打成的jar包的内容的文件结构要求是这个样子的:
|--META-INF
|--META-INF
|????|--web-fragment.xml
|????|--resources
|????|????|--jsp、图片等,相当于web的根目录
|--class文件和类路径下的文件
其中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-fragmentversion=3.0xmlns=://java.sun/xml/ns/javaee
xmlns:xsi=://w3.org/2001/XMLSchema-instance
xsi:schemaLocation=://java.sun/xml/ns/javaee?://java.sun/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,其代码如下所示:
publicclass?Module1Servlet?extends?Servlet?{??
privatestaticfinallong?serialVer
您可能关注的文档
- (选修1-2)2.1.1合情推理(归纳推理).ppt
- 一年级数学位置与方向2.ppt
- 气相色谱仪标准操作规程-SOP.doc
- 机电系统计算机控制(=).docx
- (外研版英语2012)四年级英语下册课件-Module-7-Unit1.ppt
- 模板支撑体系计算书(碗扣式).doc
- 一元二次方程解法(补充)-十字相乘法.ppt
- 一年级上册道德与法治别伤着自己.ppt
- 七上期末复习6名著阅读.ppt
- 某大道改造工程施工组织设计.doc
- 新的一年工作展望.docx
- 医生年终个人工作的述职报告(3篇).docx
- 2023年消防设施操作员之消防设备中级技能考前冲刺练习题附答案详解.docx
- 2022-2023年环境影响评价工程师之环评技术导则与标准通关练习题包括详细解答.docx
- 2023年中级注册安全工程师之安全生产管理考前冲刺检测卷和答案.docx
- 2023年中级银行从业资格之中级银行管理考前冲刺测试卷提供答案解析.docx
- 2023年公共营养师之二级营养师通关模拟考试试卷附带答案.docx
- 证券分析师之发布证券研究报告业务考前冲刺模拟题库.docx
- 2022-2023年二级建造师之二建建设工程法规及相关知识综合提升测试卷附答案.docx
- 2023年二级建造师之二建机电工程实务通关模拟考试试卷提供答案解析.docx
文档评论(0)