美文网首页javaJavaEE网络编程篇
04.《JavaEE 学习笔记》MVC设计模式

04.《JavaEE 学习笔记》MVC设计模式

作者: 一直流浪 | 来源:发表于2022-08-05 19:00 被阅读0次

    参考链接:
    https://blog.csdn.net/wx1528159409/article/details/83549291
    https://blog.csdn.net/sunforraining/article/details/79015227

    1、Web应用运行流程:

    (1)浏览器发送请求到收到响应,简要的过程如下: 浏览器发送请求后,由Web.xml中规定的协议,进入TomCat中特定的Servlet,服务器先到Web-Content中找有没有对应的html/jsp页面,如果没有再到WEB-INF目录下的xml配置文件中找映射,通过映射找到响应文件html/jsp,响应给浏览器。

    (2)浏览器再点击JSP页面后,再次发送请求。

    2、什么是MVC?

    MVC,全称Model View Controller,即模型-视图-控制器;

    (1)Model(模型): 是Web应用中用于处理数据逻辑的部分,包括Service层和Dao层; Service层用于和数据库联动,放置业务逻辑代码,处理数据库的增删改查, Dao层用于放各种接口,以备调用;

    (2)View(视图): 是Web应用中处理响应给客户的页面的部分,例如我们写的html静态页面,jsp动态页面,这些最终响应给浏览器的页面都是视图; 通常视图是依据模型数据来创建的;

    (3)Controller(控制器): 在Web应用中,简而言之,就是Servlet,或者SpringMVC框架中加了注解@Controller的方法(实际上一个方法就相当于一个对应的Servlet);

    Web开发过程中的MVC设计模式:

    首先,浏览器发送请求,JSP页面响应给客户,客户点击JSP页面上的内容,再次提交请求; 这一次,请求到Controller控制器模块,也就是Servlet服务器中,Servlet服务器通过分析请求,判断客户的需求,然后调用Model模型,用Service层处理数据库的增删改查,用Dao层提供接口支持,然后Servlet将数据驱动到View视图层也就是JSP页面中,将JSP页面响应给浏览器,客户看到动态的内容。

    在这个过程中,最典型的的MVC模型就是 JavaBean + JSP + Servlet的模式,各司其职,分工合作;这种设计理念可以把html代码块和业务逻辑代码块分开,让代码更清晰,便于开发。

    image.png

    3、JavaWeb经典三层框架

    (1) 表现层,UI,User Interface: 主要接受用户的请求和把相应的页面响应给用户浏览器; 其中aspx页面,对应MVC中的视图(View),即JSP页面; 而aspx.cs页面,对应MVC中的控制器(Controller),即Servlet服务器;

    (2) 业务逻辑层,BLL,Business Logic Layer: 对应MVC中模型(Model)中的Service层,与数据库联动处理增删改查;

    (3) 数据访问层/持久层,DAL,Data Access Layer: 对应MVC中模型(Model)中的Dao层,提供接口支持;

    4、MVC设计模式的具体开发流程

    (1)创建项目

    创建Dynamic Web Project,并完成初始化配置,能正常启动。

    (2)JDBC

    将JDBC数据库驱动导入或者引入(Maven)项目。

    (3)DBUtil

    在项目中创建数据库连接类,这是Java程序和数据库直接通信的唯一方式。我们可以将该程序理解为数据库系统的自定义客户端。

    (4)Model

    构建Model类,注意映射关系。

    (5)DAO和IMPL

    定义DAO,并实现IMPL。

    (6)Biz

    定义Biz,并实现IMPL。

    (7)Controller

    构建Controller类,受理业务请求。

    (8)View

    构建View,接受用户的输入,并且能显示Controller返回的响应数据。

    5、 MVC的优缺点

    (1)优点:

    • 分层,结构清晰,耦合性低
    • 大型项目代码的复用性得到极大的提高,开发人员分工明确,提高了开发的效率
    • 维护方便,降低了维护成本。

    (2)缺点:

    • 简单的小型项目,使用MVC设计反而会降低开发效率
    • 层和层虽然相互分离,但是之间关联性太强,没有做到独立的重用。

    相关文章

      网友评论

        本文标题:04.《JavaEE 学习笔记》MVC设计模式

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