第12章 Web应用设计模式与框架
第12章
第5章 Web应用设计模式与框架Java Web开发实践教程 --从设计到实现 大连东软信息学院计算机系
第12章
主要内容设计模式和架构模式 J2EE中的层架构模式 J2EE模式简介 Advanced MVC前端控制器实例 S2SH框架搭建实例
第12章
教学要求了解企业级应用的架构模式 掌握前端控制器的设计与实现 掌握S2SH框架的搭建
第12章
12.1设计模式和架构模式设计模式(Design Pattern)着重于解决底层问题, 是对问题和解决方案进行抽象的普遍适用的方法。 GoF的著作把设计模式划分为三类:创建型模式 (Creational Patterns): :这一类型的模式,用于隐藏对象的创建细节。 这一类型的模式,用于隐藏对象的创建细节。
结构型模式 (Structural Patterns): :这一类的模式关心类和对象之间的组织结构。 这一类的模式关心类和对象之间的组织结构。
行为型模式 (Behavioral Patterns): :这一类的模式着重于算法以及类之间的任务分配。 这一类的模式着重于算法以及类之间的任务分配。
第12章
12.1设计模式和架构模式架构模式(Architectural Pattern)着重于解决方案的 高层复合结构 。 架构模式通常可以划分为如下四种类型:From Mud to Structure型: 型帮助架构师将系统合理划分,避免形成一个对象的海洋。 帮助架构师将系统合理划分,避免形成一个对象的海洋。
Distributed Systems型: 型为分布式系统提供完整的架构设计 。
Interactive Systems型: 型支持包含有人机互动界面的系统的架构设计 。
Adaptable Systems型: 型支持应用系统适应技术的变化、软件功能需求的变化。 支持应用系统适应技术的变化、软件功能需求的变化。
第12章
12.1设计模式和架构模式参考资料Erich Gamma等,《设计模式:可复用面向对 象软件的基础》,机械工业出版社 Erich Gamma等,《设计模式:可复用面向对 象软件的基础》,机械工业出版社 Robert C.Martin,《敏捷软件开发:原则、模 式与实践》,清华大学出版社 阎宏,《Java与模式》,电子工业出版社 Alan Shalloway James R. Trott,《Design Patterns Explained》,中国电力出版社
第12章
12.2 J2EE中的层架构模式J2EE平台为设计、开发、集成和部署企业级应用 提供了基于组件的方法。 J2EE平台提供了多层分布式应用模型,能重用组 件,能为用户提供统一的安全模型和灵活的事务 处理控制。在J2EE规范中进行了以下的分层:客户层:该层代表访问系统的人员,应用程序,或系统 客户层:该层代表访问系统的人员,应用程序, 的客户端。 的客户端。 表示层:该层封装了用来服务访问本系统的所有客户端 的表示层逻辑。 业务逻辑层:该层提供业务服务,包括业务数据和业务 逻辑。 资源层:该层包括业务数据源
和外部系统资源,如数据 库管理系统和企业信息系统等。
第12章
12.3 J2EE模式简介J2EE模式分为表现层,业务层和集成层模式。 表现层模式:涉及组织应用程序的表现组件,包括:拦截过滤器(Intercepting Filter):管理客户请求的预处理和后续 处理工作。 前端控制器(Front Controller):提供对用户请求进行集中管理的 机制。包括应用控制器:将动作调用管理和视图调度转发管理从 控制器组件中分离出来。 视图助手(View Helper):将构建视图所需的逻辑与视图的内容 检索分离开。 复合视图(Composite View):根据多个不同的子视图构造一个 视图。 调度器视图(Dispatcher View):将前端控制器和视图助手模式 组合在一起。 工作者服务(Service to Worker):与调度器视图模式相似,不同 之处在于前端控制器在视图选择和业务处理调用方面承担了更多 的职责。
第12章
12.3 J2EE模式简介业务层模式:管理业务处理过程和业务数据包括:服务定位器(Service Locator):提供一个用于服务查找的接口。会话外观(Session Façade ):用一个比较简单的接口隐藏业务组件的细节。 业务代表(Business Delegate):分离表示客户和业务服务。 传输对象(Transfer Object):通过将返回值数据封装到一个对象中来减少 远程调用。 传输对象装配器(Transfer Object Assembler):根据多个业务对象装配传 输对象的数据。 复合实体(Composite Entity):将大量相关的细粒度持久化对象包装在一 个实体中,用来表示包含这些对象的结构化组织。 值列表处理器(Value List Handler):提供一个有效的机制,用于执行可能 返回大量对象的查询,并浏览整个结果。
集成层模式:与其它类型应用程序或遗留系统的集成,包括:服务激活器(Service Activator):通过使用JMS API,允许客户异步调用 EJB 组件。 数据访问对象(Data Access Object):将与数据库相关的代码分隔到只暴 露面向业务接口的类中。
第12章
12.4 AdvancedMVC前端控制器实例使用J2EE规范以及其他的设计模式可以简化开发。 其中,MVC模式是Web应用开发中最重要的设计 模式。 MVC模式包括三部分:模型(Model):包含业务数据、处理及规则。不应当 包含任何用户界面的详细信息。 视图(View):为用户显示包含模型组件数据的图形 用户界面(GUI),通常将GUI事件传递给控制器组件。 控制器(Controller):接收用户的请求,调用模型组 件的处理,并确定需要显示的视图组件。
第12章
12.4 AdvancedMVC前端控制器实例问题回顾本书第9章的Tea Web应用中的MVC实例,发现 一个简单的MVC模式包括许多的视图、模型和控制器。 由于每个控制器中都包含处理请求参数,调用模型和
转发请求的功能,因此存在这许多重复的代码。 根据12.3中讲述的J2EE中表现层的设计模式,前端控 制器模式可以解决控制器太多,代码重复的问题。
第12章
12.4 AdvancedMVC前端控制器实例前端控制器模式包含一个总控制器,提供了一个集中处理请求的点(在 Java的Web MVC实现中,通过Servlet来实现总控制 器)。 使用一个调度器进行动作管理:调度器将请求URL映射 至需要被执行的命令实例。命令实例在WebWork或者 Struts中就是Action。由调度器调用相应的命令实例与 系统后端的服务进行交互,并在处理完业务逻辑之后返 回一个码值,而这个返回码会映射到某一个视图(通常 是一个Web页面模板,如JSP)。 控制器根据调度器调用业务处理的返回值决定将请求转 发到哪个视图,最后该视图将会呈现给用户。
第12章
12.4 AdvancedMVC前端控制器实例针对控制器的主要作用:获取参数、数据验证转 换、调用模型和转发请求,初步设计如下:获取参数和数据验证与转换:这个工作由一个独立的调 度器完成。实际上调度器将这个工作交给了一个属性设 置器。属性设置器,会对由调度器获取的请求参数进行 非空验证和数据类型转换。最后,将转换后的数据赋值 给Action中与参数同名的属性。 调用模型:这个工作也是由调度器完成。并且将模型的 调用设计成可以配置的,即,把请求访问地址与对应的 可以调用的模型写到一个自定义的配置文件中,调度器 通过读取这个配置文件,决定什么时候应该调用哪个模 型。 转发请求:同样设计成可以配置的。将视图地址写在配 置文件中。控制器根据这个配置文件以及调度器调用模 型返回的码值决定将请求转发到哪个视图。
第12章
12.4 AdvancedMVC前端控制器实例前端控制器模式中各个类或接口设计如下:FrontController类:执行公共的任务,然后把请 …… 此处隐藏:2602字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




