



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Dorado与Struts、Hibernate、Spring的集成开发模式dorado是一套成熟的Web应用开发套件, 其中包含了一个完整的具有下一代Web应用特征的表现层解决方案。本文着重介绍了如何利用dorado的表现层与目前较为流行的Struts、Hibernate、Spring进行协同开发。 图表 1基于MVC模式的总体框架图 上图是利用dorado的表现层与目前较为流行的Struts、Hibernate、Spring进行协同开发的总体框架图。从此图中我们不难看出与传统的MVC的开发模式的最大区别在于View部分dorado的表现层实现。1.发起请求从浏览器发出请求开始(如图中的1号箭头)。该请求首先将被Struts的ActionServlet接收,然后ActionServlet会根据用户的Struts配置确定应触发哪一个具体的Action。2.调用业务逻辑Action的主要任务是调用某一个业务逻辑对象BO(Business Object)以完成相应的业务操作。由于我们在此框架考虑引入了Spring,因此Action将不必直接创建具体的BO。而是通过Spring框架利用反向注入的原理(IOC)来得到BO的实例。 在BO当中我们应当通过数据访问对象DAO(Data Access Object)来实现对数据的访问操作。由于我们考虑在开发模式中引入Spring。因此,此处具体使用的DAO实例也应通过Spring来获取。 为了更好地实现业务逻辑的面向对象化,我们还可以考虑利用Hibernate来作为DAO的具体实现方式。如此便有的了上图中所展示的Model层的架构。最终在整个系统中DAO成为了唯一的数据库访问途经。通常我们可以将此图中的DAO和Hibernate统称为数据持久层。 另外,在某些情况我们也可以考虑简化此处的持久层设计。由于Hibernate本身就可以作为独立的持久层实现,因此也可以将此处的DAO对象省去,直接在BO中利用Hibernate完成数据访问。 当我们的Action完成了对BO的调用之后,我们应当将业务逻辑的结果直接存入到上下文对象(Context)当中,以便于稍后的View能够得到这些数据并用于界面的绘制和展现。在通常模式下BO的执行结果都是以VO(Value Object)的方式返回的。VO既可以是独立的JavaBean也可以是JavaBean的集合(Collection, 例如:List 、Set) 。3.转发请求当Action完成上述操作之后Struts应根据BO的执行结果和用户的配置将请求转发给某个具体的JSP来实现界面的展现。由于此处引入了dorado的表现层,因此JSP的作用已被弱化为了单一的对视图模型(ViewModel)中的各种可视化对象进行布局。 视图模型是一种用户描述视图逻辑的对象。例如我们要将表格如何显示、单击按钮后要完成什么动作、下拉框如何进行赋值等信息都归纳为视图逻辑。视图模型只负责声明和描述对象,而不负责对象的具体摆放位置。视图模型无法独立的访问View层之外的数据,视图模型只能引用在数据模块(Module)中定义的数据。 数据模块是dorado的表现层中专门用于访问外部数据的一种对象。例如在此处的开发模式中我们就利用数据模块来访问BO返回的执行结果。4.值对象(VO)的传递由于我们不能把数据模块的激活和BO的调用看作是一个同步的过程。因此数据模块无法直接得到BO返回的执行结果,而只能通过上下文对象来获取BO返回的VO。此处的上下文对象一般是指Request对象的Attributies属性集。数据模块在得到VO之后需要自动将VO中包含的信息反射成dorado中的数据集(Dataset)。由于此种数据转化在某些极端的情况是非常复杂的(例如VO的多级集合嵌套),因此我们必要定义一些描述信息来辅助dorado按照正确的方式进行数据转换。值得庆幸的是dorado的Studio可以自动生成绝大部分的描述信息。我们只需要根据实际情况在必要的时候对这些描述信息做少量的调整就可以了。反馈VO的信息被正确的转化到Dataset中之后,dorado的Module和ViewModel将按照其标准的方式运行,并最终通过JSP将视图信息反馈给浏览器。此处,dorado的表现层之所以需要数据模块、视图模型和JSP的协同工作是为了更好的实现代码的重用。 综上4个步骤,我们不难看出dorado与Struts、Hibernate、Spring这些产品进行整合的关键在步骤4,即如何将VO转换成dorado中的Dataset。而且事实上dorado的对象本身完全不需要对Struts、Hibernate、Spring中的任何对象进行直接调用。这种松耦合的结合方式可以充分的保证系统架构将来的灵活性和扩展性。 结论 :此种开发模式与传统的开发模式比较,其最大的优势在于可以利用dorado大大的节省开发人员在开发Web应用表现层时的工作量,同时又为我们的应用提供非常友好、易用的用户交互界面,将应用直接升级成新一代的富客户端网络应用(Rich Internet Application)。 此种开发模式与标准的dorado开发相比将会带来开发工作量的明显加大,不过同时在开发模式上的标准化也可以在另外一些方面为我们带来好处。例如:可使系统架构具有更好的扩展性,使得将来在需要引入其他框架类产品的时候变得相对容易。 工作量 界面 扩展性 传统MVC (使用上述开发模式中除dorado外的所有技术) 最大简陋好引入dorado的MVC架构(使用本文介绍的开发模式)较大(推荐开发模式)友好(富客户端)好dorado的标准开发模式(不包含Struts、Hibernate、Spring) 较小友好(富客户端)较好Dorado除可以帮我们改善界面之外,还可以为我们提供国际化、性能分析、权限配置等诸多实用的功能,由此可见引入dorado带来的好处是不言而喻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册公用设备工程师练习题附答案详解(预热题)
- 汽车拆解回收及加工项目可行性研究报告
- 注册电气工程师题库试题附答案详解【基础题】
- 三农创新发展模式探索指南
- 中医药产业2025年国际市场拓展中的中医药产业国际化法规研究报告
- 环保公司警告处分管理规定
- 环保公司物料管理规章
- 环保公司供应链风险管理办法
- 环保公司客户满意度管理规章
- 电竞公司实习生管理细则
- 无废工厂宣传课件
- 酒店预算培训课件
- 关于财富的课件
- 2025-2030中国汽车工程服务外包(ESO)行业现状调查与前景趋势研究报告
- 华为荣誉激励管理办法
- 2025至2030全球及中国实验室PH电极行业发展趋势分析与未来投资战略咨询研究报告
- 相控阵超声检测技术及应用
- 第四单元整本书阅读《红岩》课件 2025-2026学年统编版语文八年级上册
- 特色小吃街商业运营与管理合作协议
- 金提炼过程中的贵金属综合回收利用考核试卷
- 三级安全教育试题及答案
评论
0/150
提交评论