教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

第12章 Web应用设计模式与框架

来源:网络收集 时间:2026-09-01
导读: 第12章 第5章 Web应用设计模式与框架Java Web开发实践教程 --从设计到实现 大连东软信息学院计算机系 第12章 主要内容设计模式和架构模式 J2EE中的层架构模式 J2EE模式简介 Advanced MVC前端控制器实例 S2SH框架搭建实例 第12章 教学要求了解企业级应用的架

第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类:执行公共的任务,然后把请 …… 此处隐藏:3795字,全部文档内容请下载后查看。喜欢就下载吧 ……

第12章 Web应用设计模式与框架.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/121080.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)