美文网首页开发者联盟
Java EE 极简教程(四):MVC 模式

Java EE 极简教程(四):MVC 模式

作者: EvanNightly | 来源:发表于2019-06-15 09:28 被阅读0次

    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)

    假如有一个需求:实现编辑网页上的信息并与数据库同步

    在实现上,可以分为以下几步:

    1. 用 Bean 来映射数据表,并编写好 DAO

    2. 用负责查询的 Servlet 调用 DAO 查询需要编辑的内容并发送给用于编辑的 jsp 页面

    3. 把编辑页面进行修改后的值,再提交给负责更新的 Servlet 调用 DAO 更新数据库

    4. 使用另一个负责查询的 Servlet,把查询出来的更新过的内容发送给负责显示的 JSP

    这个部分本来打算自己做一遍,但之前推荐的 Java 学习网站 How2J 上已经有很好的实践教程,我就不费劲了,直接戳下面的链接:

    How2J 的 MVC教程

    只是一个小练习,看过前面的内容的话一会儿工夫就可以做完。

    之后我们将探讨 Java 的主流框架,可以说这些框架是 Java 生态的顶梁柱,是我们做 Web 开发的利器。我们先从 Spring 说起——

    「Java EE 极简教程(五):如何理解 Spring」

    相关文章

      网友评论

        本文标题:Java EE 极简教程(四):MVC 模式

        本文链接:https://www.haomeiwen.com/subject/msvvfctx.html