锁定老帖子 主题:模块自包含部署
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-12
项目分成几十个模块和六个子系统. 开发以模块为单位, 模块开发完后都被打成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三个变量由框架拦截器自动注入. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-13
顶起来.你这是告诉大家一种思路,还是有框架支持?
|
|
返回顶楼 | |
发表时间:2008-04-13
能说的详细点吗?很有兴趣
|
|
返回顶楼 | |
发表时间:2008-04-14
huangyh 写道 顶起来.你这是告诉大家一种思路,还是有框架支持?
没有类似的框架支持, 自行实现的, 上面说的是我实现的方案. 因是为公司写的, 不便公开代码, 就讲讲思路. |
|
返回顶楼 | |
发表时间:2008-04-14
不建议这样做。
|
|
返回顶楼 | |
发表时间:2008-04-14
我的方案是:
业务模型,分子系统模块来建立工程,子系统内部是内聚的,在开发中,严格的建立一定的依赖关系(可用eclipse配置),所有的视图内容,全部在一个统一的WebModule工程中,便于维护和部署。 |
|
返回顶楼 | |
发表时间:2008-04-14
这种结构我非常赞同,做个模块,java和jsp,js等资源应该是放在一块才好维护.
|
|
返回顶楼 | |
发表时间:2008-04-17
引用 这种结构我非常赞同,做个模块,java和jsp,js等资源应该是放在一块才好维护.
容易维护?实际情况是否真的这样呢? 项目开发和通用软件开发的过程有很大不同,在项目开发过程,特别是需求庞大,变更频繁的项目,模块间的依赖关系往往不能一如既往地保证严谨。 特别对于视图,往往跨多模块互相依赖,如果连视图都分入模块,那么在开发环境下,必然造成如蜘蛛网般的project引用关系。 所以,与其建立一个网状的引用关系,不如采用一种星形的依赖关系,把视图独立出来,在开发过程中只需维护一些模块之间的project引用关系简单很多。而这种模块的关系是由业务决定的,只要模块建立的相对合理,模块间的关系还是可以维护的,很少出现循环引用的问题 另外,方便开发和便于部署维护也是要考虑的,上面只是说说自己的经验,应该说也是遇到过深刻教训才有这种感触,不过各个项目情况不同,大家的理解可能不一致。具体的场景就不多说了 |
|
返回顶楼 | |
发表时间:2008-04-18
你分析的很对, 不同的项目有不同情况, 但我现在做的项目需求比较明确, 视图不会跨模块使用, 通常是模块间跳转.
是会影响到开发, 因为jsp放到src目录后, jsp的修改不会自动更新. 但可以通过配置的方式改变开发时jsp的存放路径, 先放到web目录开发. 部署维护是比较方便的, 将jar包放入/WEB-INF/lib下就行了, 省了大家拷jsp,图片的麻烦, 当然这些可以用脚本做. 并且已经在websphere6.1上面部署成功, 没有什么问题. |
|
返回顶楼 | |
发表时间:2008-12-16
leadyu 写道 我的方案是: 业务模型,分子系统模块来建立工程,子系统内部是内聚的,在开发中,严格的建立一定的依赖关系(可用eclipse配置),所有的视图内容,全部在一个统一的WebModule工程中,便于维护和部署。 我现在也正在考虑类似的实现方式来升级我们现在的系统..不过我想的是..把逻辑层,业务层,DAO层等分别作为一个工程来开发,部署的是放到一个EAR包里,这样就可以达到复用.不知道你有成熟的方案没有? |
|
返回顶楼 | |