- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 MVC模式
目录
8.1 MVC模式
8.2 Struts2
8.3 配置详解
8.1 MVC模式
什么是模式?
23种设计模式
体系结构(架构)模式
MVC模式
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用
MVC是一种软件设计模式,不仅仅应用于WEB。在日常生活中处处可以找到类似于MVC的例子。
在WEB应用上,J2EE平台最先应用MVC设计模式,并成为一个事实上的标准。
数据与显示分离
什么是MVC设计模式
1、模型(Model) 业务逻辑层。用于封装业务逻辑和数据模型。
2、视图(View) 表示层。就是与用户实现交互的界面,通常实现数据的输入和输出功能。3、控制器(controller) 控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
模型
模型(Model):就是业务流程/状态的处理以及数据模型的制定。
业务流程的处理过程对其它层来说是黑箱操作,模型接 受视图请求的数据,并返回最终的处理结果。
模型的设计可以说是MVC最主要的核心。
Struts2
Struts2
MVC模式的信息管理系统
8.2 View组件——视图层
作用:实现业务数据的输入和显示,外部对象与系统进行交互和通信要通过视图层。一般视图就是为操作者显示的窗口界面,操作者通过该窗口来进行系统管理。
职责:与操作者进行交互
功能:
(1)提供数据输入的机制。如表单。
(2)显示业务数据。
1)列表方式
2)详细方式
Model组件
作用:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型有对数据直接访问的权利,模型不依赖与视图和控制也就是他不关心如何被显示和被操作。
职责:业务处理。
主要功能:
(1)表达业务数据:表达存储在数据库中的业务数据。
(2)业务数据持久化:将业务数据保存到数据库中。
(3) 业务处理方法:管理系统的核心功能是模拟业务代理,代替人工的处理模式,实现信息管理的高效率和低成本。
8.3 Control组件
职责:协调View和Mode组件,控制整个系统的流程,接收客户端请求,并调用Model组件对其作出响应。
主要功能:
(1) 取得View提交的数据
(2) 验证View数据的合法性(形式和业务)
(3) View数据的类型转换
(4) 调用Model业务处理方法
(5) 保存Model业务数据给View组件
(6) 导航到指定View组件。
Java EE框架下的MVC
JavaEE平台MVC实现
View:JSP+EL+JSTL
Control:Servlet
Model:JavaBean
8.5 MVC模式分层结构
MVC模式分层结构
UIO:视图层
CO:控制层
BO:业务层
实现业务逻辑
PO/DAO:持久层
向数据库实现数据持久化操作
DTO/VO:传输层
在各层之间传递数据时,依赖传递层实现,需要实现序列化接口Serializable
每层的设计思想
面向接口设计原则,通过接口向上层暴露业务方法,
每层由接口,接口实现类和工厂类组成。
详细的MVC分层架构
View设计
HTML
JSP
EL
JSTL
控制类设计
控制类由Servlet充当,具有Servlet中常见方法。
Action 控制类的设计
类命名:处理功能名称+Action
包名:域名.项目名.模块名.action
如:
com.city.oa.action.LoginAction,
VO/DTO类设计
用于封装表的记录值,每个表1个类。
类对应表,对象对应记录,属性对象字段。
使用关联关系表达类之间的对应关系,与表的外键对应。
每个属性一对get/Set方法。
包:jectname.value
类名:实体类名+”Value”
如:
com.city.oa.value.UserValue
com.city.oa.value.POValue
com.city.oa.value.EmployeeValue
BO类(Business Object)
BO接口:
定义BO业务功能
命名:OOA实体名称
包名:ject.business
如:com.dashang.erp.business.User
BO实现类:
实现BO接口的功能
命名:OOA实体类Impl
包:ject.business.impl
如:com.dashang.erp.business.impl.UserImpl
BO工厂:
命名: BusinessFactory
包:ject.busin
文档评论(0)