自动部署方案收工, 达到目标:
项目分成几十个模块和六个子系统.
开发以模块为单位, 模块开发完后都被打成jar包(包括jsp,图片,js,css等全部放入jar包).
模块与子系统不关联, 可以放入任何子系统.
子系统只用于部署(逻辑划分), 最终打成war包.
将模块的jar包放入(任意)子系统的lib目录下即可访问, 不需要作任何配置.
如:
将模块aaa.jar放入子系统xxx.war的lib目录,不作任何配置,即可访问:
http://localhost:8080/xxx/aaa/index.action
实现方案:
(1) 统一规范包名: "com.xxx.module.模块名", 框架自动搜索"com.xxx.module"下的所有子包作为加载项.
(2) 统一SSH配置存放路径: 均放在与模块action,biz,dao同级的目录下, 框架根据规则自动抓取. (通过适配SSH相关类, 以及前后拦截实现)
(3) 运行时自动释放资源: 在项目启动时, 桧测模块内的jsp,图片,js,css等资源是已释放到可访问位置, 未释放则搜索模块下的资源并释放到web可访问位置. 在页面上使用: ${images}/xxx.gif, ${scripts}/xxx.js, ${styles}/xxx.css, 其中images,scripts,styles三个变量由框架拦截器自动注入.
项目分成几十个模块和六个子系统.
开发以模块为单位, 模块开发完后都被打成jar包(包括jsp,图片,js,css等全部放入jar包).
模块与子系统不关联, 可以放入任何子系统.
子系统只用于部署(逻辑划分), 最终打成war包.
将模块的jar包放入(任意)子系统的lib目录下即可访问, 不需要作任何配置.
如:
将模块aaa.jar放入子系统xxx.war的lib目录,不作任何配置,即可访问:
http://localhost:8080/xxx/aaa/index.action
实现方案:
(1) 统一规范包名: "com.xxx.module.模块名", 框架自动搜索"com.xxx.module"下的所有子包作为加载项.
(2) 统一SSH配置存放路径: 均放在与模块action,biz,dao同级的目录下, 框架根据规则自动抓取. (通过适配SSH相关类, 以及前后拦截实现)
(3) 运行时自动释放资源: 在项目启动时, 桧测模块内的jsp,图片,js,css等资源是已释放到可访问位置, 未释放则搜索模块下的资源并释放到web可访问位置. 在页面上使用: ${images}/xxx.gif, ${scripts}/xxx.js, ${styles}/xxx.css, 其中images,scripts,styles三个变量由框架拦截器自动注入.