MVC模式与三层架构

目录

1、MVC模式

2、三层架构

3、MVC+三层架构

4、分层后的处理请求与响应流程

5、注意事项

6、基于MVC模式的框架

7、基于三层架构的框架


MVC模式和三层架构在Web中经常一起使用,可以实现业务逻辑、数据访问和用户界面的分离,提高代码的可维护性和可扩展性。

1、MVC模式

  • M:Model,业务模型,处理业务
  • V:View,视图,界面展示
  • C:Controller,控制器,处理请求,调用模型和视图

控制器(serlvlet)接收浏览器发送过来的请求,控制器调用模型(JavaBean)来获取数据,控制器获取到数据后再交由视图(JSP)进行数据展示。

2、三层架构

通过将应用程序划分为不同的层次,使得各个层次之间的职责更加明确,降低了层次之间的耦合度,提高了代码的可维护性和可重用性。

  • 数据访问层:对数据库的增删改查操作。对应com.example.dao 或 com.example.mapper。
  • 业务逻辑层:对业务逻辑进行封装。组合数据访问层的基本功能,形成复杂的业务逻辑。如注册业务功能 ,要先调用数据访问层的selectByName() 方法判断该用户名是否存在,如果不存在再调用数据访问层的insert() 方法进行数据的添加操作。对应com.example.service。
  • 表现层:接收请求、封装数据、调用业务逻辑层、响应数据。对应com.example.controller。

3、MVC+三层架构

4、分层后的处理请求与响应流程

  1. 浏览器发送请求:用户通过浏览器访问Web应用的某个页面或执行某个操作时,浏览器会向服务器发送一个HTTP请求。
  2. 表现层的Servlet接收请求:在服务器端,配置好的Servlet会监听特定的URL路径。当请求到达时,对应的Servlet会被调用。Servlet作为表现层的一部分,负责接收和解析请求中的参数。
  3. 调用业务逻辑层的方法:Servlet根据请求的内容,调用业务逻辑层(Service层)中相应的方法。业务逻辑层包含了处理具体业务逻辑的代码,比如验证用户输入、计算数据等。
  4. 业务逻辑层调用数据访问层方法:在业务逻辑处理过程中,如果需要与数据库进行交互(例如查询、更新数据),业务逻辑层会调用数据访问层(DAO层)的方法。数据访问层负责执行实际的数据库操作。
  5. 数据访问层执行数据操作:数据访问层与数据库进行交互,执行CRUD操作(增删改查),并将结果返回给业务逻辑层。
  6. 数据返回业务逻辑层和Servlet:业务逻辑层接收来自数据访问层的数据或操作结果,并根据需要进行进一步处理。处理完毕后,业务逻辑层将结果返回给Servlet。
  7. Servlet将数据交由JSP进行展示:Servlet将业务逻辑层返回的数据封装到request或session等对象中,然后转发(forward)或重定向(redirect)到一个JSP页面。JSP页面作为视图层,负责将数据以HTML的形式展示给用户。
  8. JSP渲染并返回响应给浏览器:JSP页面接收来自Servlet的数据,根据页面模板和数据进行渲染,生成最终的HTML页面。然后,这个HTML页面作为HTTP响应返回给浏览器。
  9. 浏览器展示页面:浏览器接收到来自服务器的HTTP响应后,解析HTML页面并展示给用户。

这个流程中,Servlet扮演了控制器的角色,业务逻辑层是模型,而JSP页面则是视图。

5、注意事项

  • 保持各层之间的松耦合,避免跨层调用,确保职责清晰。
  • 使用接口或抽象类定义层之间的交互,提高代码的可维护性和可扩展性。

6、基于MVC模式的框架

SpringMVC是Spring框架中的一个模块,它是一个基于MVC设计模式的Web框架。SpringMVC将业务逻辑、数据、显示分离,使得代码更加清晰、易于理解和维护。它提供了丰富的功能和灵活的配置。

SpringMVC的主要作用包括:

  1. 通过一套注解,使得一个简单的Java类能够成为处理请求的控制器,无需实现任何接口。
  2. 支持RESTful编程风格的请求,满足现代Web应用的需求。
  3. 与Spring框架的其他模块无缝集成,如Spring的依赖注入功能,使得业务逻辑层的实现更加灵活和可维护。

在三层架构中,SpringMVC通常负责表示层(UI层)的实现。它接收用户的请求,调用业务逻辑层处理业务逻辑,然后将结果传递给视图进行展示。通过SpringMVC,开发者可以更加高效地构建结构清晰、易于维护和扩展的Web应用程序。

SpringMVC是最广泛使用的MVC框架之一,是一个强大且灵活的Web框架,它基于MVC模式和Spring框架,提供了构建高效、可维护的Web应用程序的工具。

7、基于三层架构的框架

三层架构更多的是一种设计思想,而不是特定的框架。很多Web框架都遵循或支持这种架构。例如,在Spring框架中,Spring MVC负责表示层,Spring的核心功能(如依赖注入)可以用于业务逻辑层,而Spring Data或MyBatis等则负责数据访问层。

MVC模式和三层架构提供了一种组织和管理代码的有效方式,使得Web应用程序更加清晰、可维护且易于扩展。

  • 87
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值