Java WEB开发实战 之 第四部分:MVC设计模式【私塾在线原创】

MVC是一种架构型模式,它本身不引入新的功能,只是指导我们把web应用结构做的更加合理,实现逻辑与页面相分离。
在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。
1:模型部分包含了应用程序的业务逻辑和业务数据;
2:视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面;
3:控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。
为何需要MVC
Servlet  === Java + “html”  问题:拼字符串太麻烦  è
Jsp       === Html + Java脚本  问题:页面和逻辑太过于混杂 è
MVC
MVC包含三个部分,功能分别如下
uModel
封装应用状态                  ß------数据封装(vo)
响应状态查询                  ß------获取数据(vo)
暴露应用的功能                ß------逻辑层API
uController
接收并验证HTTP请求的数据      ß------收集数据,封装数据
将用户数据与模型的更新相映射  ß------调用逻辑层API
选择用于响应的视图            ß------根据返回值选择下一个页面
uView
产生HTML响应                  ß------展示数据 
请求模型的更新                ß------触发事件
提供HTML form用于用户请求     ß------人机交互
 
MVC中的模型和视图是分离的、解耦的,同一个模型可以对应多种不同的视图
 
MVC的组件关系图描述了模型、视图、控制器这三个部分的交互关系,下面按照交互顺序来详细描述一下它们的交互关系:
(1)首先是展示视图给用户,用户在这个视图上进行操作,并填写一些业务数据
(2)然后用户会点击提交按钮,来发出请求
(3)视图发出的用户请求会到达控制器,在请求中包含了想要完成什么样的业务功能以及相关的数据。
(4)控制器会来处理用户请求,会把请求中的数据进行封装,然后选择并调用合适的模型,请求模型进行状态更新,然后选择接下来要展示给用户的视图。
(5)模型会去处理用户请求的业务功能,同时进行模型状态的维护和更新
(6)当模型状态发生改变的时候,模型会通知相应的视图,告诉视图它的状态发生了改变。
(7)视图接到模型的通知后,会向模型进行状态查询,获取需要展示的数据,然后按照视图本身的展示方式,把这些数据展示出来。
接下来就是等待用户下一次操作,再次从头轮回了
 
域模型:域对象封装应用域中的实体
MVC的标准实现方式是:
View用Jsp来实现,Controller用Servlet来实现,Model用JavaBean来实现
 
从控制器如何传递值到Jsp页面?
如果把Jsp页面看作是Servlet,那么就是从一个Servlet向另外一个Servlet传递参数,方法就是使用request、session或者servletContext之一。
观察者模式初步
MVC基本的改进
为什么要改进、改进后的组件关系图
 
MVC模式的基本实现
作业:
1:使用Java中的API来实现观察者模式,体会一下“功能联动”
2:理解和掌握MVC模式在Web应用中的改进,以及改进后的组件关系图
要完成的功能
在前面Jsp的作业基础上,按照MVC模式的要求进行调整,用Servlet来实现控制器,演变成综合使用Jsp+Servlet开发。
 
原创内容 转自请注明【 http://sishuok.com/forum/blogPost/list/0/2507.html#7227
视频配套PPT,视频地址【   Java WEB开发实战视频课程 】
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26715443/viewspace-717367/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26715443/viewspace-717367/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值