网站大量收购独家精品文档,联系QQ:2885784924

框架模块化开发规范讲述.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档