- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于J2EE多层架构Web开发框架研究
基于J2EE多层架构Web开发框架研究
摘要:在经典的J2EE四层体系结构的基础上增加数据持久层,提出了基于J2EE五层体系结构的Web开发框架;分析了基于Struts框架的J2EE架构中实现对象持久性的局限性,从中分离出对象持久层,并将Hibernate这个面向对象的轻量级对象持久性技术集成到该架构中;应用DAO设计模式在业务逻辑层与持久层之间设计了多源数据访问组件,抽象和封装了对不同数据源的数据访问操作,实现对不同类型、结构、环境、用法的异构数据库的统一访问。
关键词: J2EE; 模型―视图―控制器; Struts; Hibernate; 多源数据
中图分类号:TP302.7文献标志码:A
文章编号:1001-3695(2008)05-1429-03
1多层架构的Web开发框架模型??
1.1J2EE五层体系结构设计??
随着Web应用需要更复杂的表现和逻辑处理,J2EE提出了一种四层体系结构,如图1所示。该结构分为客户层、Web层、业务逻辑层、数据库层。应用的逻辑处理和表现相分离,使得系统具有更为逻辑流程清晰、功能代码复用性强、分布式部署的特点。但是在大多数的实际项目应用中,数据层是关系型数据库,不能明确映射要实现的面向对象的机制,业务逻辑层与数据库交互的过程需要对数据库调用接口作进一步的封装,这在项目的开发和维护上会增加一定的复杂性和管理的难度。一种有效的解决方案是把业务信息按照功能模块拆分开:业务逻辑与数据库访问分开,用户界面与业务逻辑分开,彼此相对独立,任何一方的改变均不会影响对方,或者影响不大。因此本文提出在业务逻辑层与数据库层之间增加一个数据持久层,将四层体系扩展为如图2所示的五层体系,即客户层、Web层、业务逻辑层、数据持久层和数据库层。数据持久层位于数据库之上,隐藏数据读取和操纵中的所有数据访问代码细节,将客户应用程序与底层存储机制隔离开,完全抽象出开发应用程序时使用的数据物理细节。??
业务逻辑层与数据层之间增加一个数据持久层,实现对象与关系数据库之间的映射。利用这个映射框架的机制,对象与关系数据库之间的转换就可以透明地进行,而不用去关心数据库连接、并发性、事务等问题。业务逻辑层直接获取或存储的是清晰的对象,中间的转换过程交给映射框架来处理。??
在分层设计中,各层提供的接口是进行层间通信的基础,遵循的原则是实现严格的层间独立、分离,各层的实现细节不对外公开。分层设计图层间通信说明如下:??
a)客户端与表示逻辑层通过HTTP通信,即通过Http-Request和HttpResponse分别接收用户输入和返回执行结果给用户。??
b)表示逻辑层使用Struts框架技术实现,提供了接收/响应客户端请求、控制整个系统工作流程、通过调用action与业务逻辑层交互,以及格式化业务数据并动态生成Web页面等功能。??
c)业务逻辑层与持久层的交互则是JavaBean对Hibernate的调用,通过数据访问对象DAO进行调用。??
d)持久层与数据库的通信是完全由 Hibernate负责的,它将实体映射到数据库,对持久对象操作,并将缓存中的结果同步到数据库。??
1.2集成Struts框架与Hibernate框架实现MVC设计模式??
Struts作为基于模型―视图―控制器模式的应用架构,具有组件的模块化、灵活性和重用性的优点。但是Struts框架主要是针对表示层设计的,对于后端的业务逻辑层支持不是很强,在进行项目开发中存在以下局限:
a)只能横向分工,按模块来划分工作,软件开发成本相应较高;
b)需要花很多时间在数据层的包装以及不同模块之间进行协调和沟通,导致开发时间的增加;
c)项目移植性相对较差,可能需要为不同数据库编写不同的SQL语句;
d)项目扩展性相对较差,适应新的需求或变更时要修改数据库表结构、重新编写SQL语句、备份数据库等,对人员要求也相应较高;
e)由于开发人员数据库操作水平参差不齐,开发经验也不尽相同,导致系统性能可能会相对较差。??
Hibernate是一个开放源代码的O/R mapping(对象/关系映射)框架,它对JDBC进行了轻量级的对象封装,以面向对象机制来处理数据库操作。Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,大幅度减少开发时人工使用SQL和JDBC处理数据的时间。??
笔者认为应该将Hibernate集成到J2EE架构中,从Struts框架中分离出对象持久性相关部分,交给Hibernate来实现。根据Struts的体系结构,数据库操作工作是由模型层负责处理的,因此可以将Stru
您可能关注的文档
- 基于ICA歌―曲分离.doc
- 基于ICA碳交易价格影响因素实证分析.doc
- 基于ICA面向对象耕地信息提取.doc
- 基于ICCA统计数据国际会议发展态势研究.doc
- 基于ICECDIO网络人才培养模式研究与实践.doc
- 基于Icepak屉式插箱结构风冷仿真.doc
- 基于ICF理论体系聋校康复教育理念与方法.doc
- 基于ICOS PVI6系统太阳能电池质量控制研究.doc
- 基于ICPC问题驱动数据结构教学改革研究.doc
- 基于ICP―OES对不同产地大白刺果实矿质元素主成分分析.doc
- 钻井平台水手(初级)基础理论知识认证考试题及答案.doc
- 内河渔船(综合、轮机、电气)考试复习题及答案.doc
- 巨量信息流(中级)认证考试复习题及答案.doc
- 现场总线控制系统(FCS)系列:Schneider Electric Modbus_(3).Modbus在SchneiderElectric产品中的应用.docx
- 现场总线控制系统(FCS)系列:Schneider Electric Modbus_(7).Modbus地址分配与管理.docx
- 混凝土生产特定控制系统系列:CIFA i-PRO_(4).CIFAi-PRO的操作界面介绍.docx
- 混凝土生产特定控制系统系列:CIFA i-PRO_(8).CIFAi-PRO的质量管理功能.docx
- 现场总线控制系统(FCS)系列:Siemens ProfiBus_15.未来的Profibus技术发展趋势.docx
- 混凝土生产特定控制系统系列:CIFA i-PRO_(9).CIFAi-PRO的故障诊断与排除方法.docx
- 现场总线控制系统(FCS)系列:Siemens ProfiBus_8.Profibus系统的软件配置.docx
最近下载
- 充电桩施工方案.doc
- 《思路要清晰》教学反思.doc
- 新教科版高中信息技术必修一2.2《做出判断的分支》说课稿.docx
- 厂房租赁水电费合同6篇.docx
- 个人所得税课件ppt课件.ppt
- 钳工实操试卷(共44套).pdf
- 广东开放大学 期末复习参考资料答案 10632k2-现代企业管理.docx
- 成长英语教师用书提高篇(教学课件)Unit 4 Individual Participation,Collective Intelligence.pptx VIP
- Sysmex CS-5100全自动血凝分析仪标准操作程序.docx VIP
- 弘扬教育家精神教师感悟15篇必威体育精装版.docx VIP
文档评论(0)