MVC 模式
MVC 模式是一种软件框架模式,被广泛应用在 JavaEE 项目的开发中。MVC 模式很好理解,但也十分重要,在今后的 Web 应用开发中,我们都离不开它。
之前,我们学习过了 Servlet、JSP,看起来它们都可以独立完成许多功能,却各有特点,MVC 就提供了一种扬长避短,双剑合璧的方法。
1.什么是 MVC
MVC 即模型(Model) 、视图(View)、控制器(Controller)。
模型(Model)
模型是用于处理数据逻辑的部分。
所谓数据逻辑,也就是数据的映射以及对数据的增删改查,Bean、DAO(data access object,数据访问对象)等都属于模型部分。
视图(View)
视图负责数据与其它信息的显示,也就是给用户看到的页面。
html、jsp 等页面都可以作为视图。
控制器(controller)
控制器是模型与视图之间的桥梁,控制着数据与用户的交互。
控制器通常负责从视图读取数据,处理用户输入,并向模型发送数据,也可以从模型中读取数据,再发送给视图,由视图显示。
前面学到的 Servlet 便可以用作控制器。
2.为什么要用 MVC
窃以为,MVC 模式有以下三大好处。
看着舒服
前面学习 Servlet 和 JSP 的时候,我们发现这俩东西都是功能和显示混着来,可读性很差,而使用 MVC,Servlet 里都是逻辑代码,JSP 都是显示代码,一目了然。
写着容易
MVC 模式有利于人员的分工合作,不同的开发人员可各自发挥专长,同时开发不同的部分。
改着省心
MVC 可以在一个时间内专门关注一个方面,从而让应用程序的测试与迭代更加方便。所以,复杂的应用程序大都会选择使用 MVC 模式。
上述好处,用一句行话来说,就叫 “高内聚 低耦合”。
3.设计模式与框架模式
在搜集资料的时候发现很多地方把 MVC 称为一种 “设计模式”,一开始我觉得没什么毛病,从字面上完全说地通,但是仔细一想,“设计模式” 这个词是一个术语,是指工厂模式、单例模式这些东西,是不能乱用的。而 MVC,应该被称作是 “框架模式”。
那么两者有什么区别呢?
设计模式,是针对 “代码” 的,如同修筑房屋时砖瓦的层叠方式,是软件开发的基石。
框架模式,是针对 “框架” 的,是面向某些应用场景的可复用的方案,如同医院、商场等不同功能建筑的布局,是比设计模式更宏观一些的概念。
在今后的文章中,我将与大家共同学习当前的主流框架。
4.MVC 实践
在 JavaEE 中,最为经典的 MVC 模式即
Bean(Model) + JSP(View) + Servlet(Controller)
假如有一个需求:实现编辑网页上的信息并与数据库同步
在实现上,可以分为以下几步:
用 Bean 来映射数据表,并编写好 DAO
用负责查询的 Servlet 调用 DAO 查询需要编辑的内容并发送给用于编辑的 jsp 页面
把编辑页面进行修改后的值,再提交给负责更新的 Servlet 调用 DAO 更新数据库
使用另一个负责查询的 Servlet,把查询出来的更新过的内容发送给负责显示的 JSP
这个部分本来打算自己做一遍,但之前推荐的 Java 学习网站 How2J 上已经有很好的实践教程,我就不费劲了,直接戳下面的链接:
How2J 的 MVC教程
只是一个小练习,看过前面的内容的话一会儿工夫就可以做完。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。