框架模块化开发规范.doc

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

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档