Java EE系列(十)——MVC模式与MVC框架

今天peter xiao和大家一起学习Java EE中的一个重要部分——MVC模式与MVC框架。在后端的面试中,面试官也会常常提到MVC,那么MVC究竟是什么呢?

一、MVC模式

MVC,顾名思义,由以下三个部分组成:

M:Model——模型 javaBean(实体类):封装数据

V:View——视图 jsp:单纯进行页面的显示

C:Controller——控制器 Servelt:获取数据--对数据进行封装-传递数据-指派显示的jsp页面

其大致的处理流程是:首先由客户端发送请求,控制层接收并处理请求,再通过model层与数据库进行数据交互,然后控制层将交互得到的数据转发给视图层,最后视图层将得到的数据封装成视图页面返回给客户端用户。

二、Java EE的三层架构

 JavaEE三层架构分为表示层、业务逻辑层、数据访问层,通过三层架构对软件系统进行分模块处理。

表示层(web层):负责接收客户端用户的请求,并返回对应数据展示视图。相当于MVC中的V和C,但这里的C只进行请求的接收、处理交给业务逻辑层

业务逻辑层(service层):对表示层传递过来的请求进行业务逻辑处理和运算,并返回处理结果给表示层

数据访问层(dao层):与数据库进行交互,将业务逻辑层所需的数据处理与数据库数据进行同步,用于对数据库表进行增、删、改、查

 

 三层架构与MVC:

两者本为不同领域下的设计模式,并无直接关联。三层架构是典型的架构模式,将产品的开发细分为三层,这么做的好处是能够让每个人都能发挥自己的专长。比如前端工程师能专注页面的设计,如何吸引用户,而不用在乎业务逻辑的实现。数据库工程师,又可以专注数据库的处理,使其变得高效,而不必关注如何展示。而MVC是表现模式(Presentation Pattern),是为了让HTML代码和业务逻辑分开,使代码清晰(el表达式的引入也是为了这个原因),但在某种意义上,也是将功能进行分化。

三、MVC框架

MVC框架之Spring MVC概述:

Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

SpringMVC的主要组件:

1. 前端控制器 DispatcherServlet(不需要程序员开发)

作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。

2. 处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的URL来查找Handler

3. 处理器适配器HandlerAdapter

注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。

4. 处理器Handler(需要程序员开发)

5. 视图解析器 ViewResolver(不需要程序员开发)

作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view

6. 视图View(需要程序员开发jsp)

Spring MVC的执行流程:

1.发起请求到前端控制器

2.前端控制器请求HandlerMapping查找 Handler,可以根据xml配置、注解进行查找

3.处理器映射器HandlerMapping向前端控制器返回Handler

4.前端控制器调用处理器适配器去执行Handler

5.处理器适配器去执行Handler

6.Handler执行完成给适配器返回ModelAndView

7.处理器适配器向前端控制器返回ModelAndView,ModelAndView是springmvc框架的一个底层对象,包括Model和view

8.前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)

9.视图解析器向前端控制器返回View

10.前端控制器进行视图渲染,视图渲染将模型数据(在ModelAndView对象中)填充到request域

11.前端控制器向用户响应结果

Spring MVC的优点:

1. 可以支持各种视图技术,而不仅仅局限于JSP;

2. 可以与Spring框架集成(如IoC容器、AOP等);

3. 拥有清晰的角色分配:分别有前端控制器(dispatcherServlet) , 处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)等角色。

关于MVC设计模式的学习在今天就到这里,我们下一篇博客见,bye~ 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MVC是一种常用的软件架构模式,它包括三个组件:模型(Model)、视图(View)和控制器(Controller)。在Java EE的网站设计中,MVC模式用于将网站的业务逻辑、用户界面和数据存储分离开来,使代码更易于维护和扩展。模型组件负责处理数据的逻辑,视图组件负责呈现用户界面,而控制器组件则处理用户的请求并协调模型和视图的交互。 ### 回答2: Java EE是一款广泛应用于企业级应用开发的平台,其支持使用许多不同的架构模式来构建网站和应用程序。其中最常用的架构是MVC(Model-View-Controller)模式MVC模式是建立在分离关注点的基础之上的,通过将应用程序分成模型、视图和控制器三个组件,它可以让开发人员将每个组件独立开发和修改,以提高代码复用性和维护性。 在Java EE中,MVC模式通常用于开发Web应用程序。Model是代表数据的组件,通常是一个JavaBean或者POJO,包含了应用程序中所有的业务逻辑和数据操作。View是代表用户界面的组件,通常由JSP或HTML文件组成,用于呈现和显示用户界面。Controller是代表业务逻辑的组件,通常由Servlet或者Action组成,与Model和View进行交互,作为中间件来控制数据流转和请求响应。 在实际开发中,MVC模式的好处是明显的:首先,它可以实现代码的高度复用,因为模型、视图和控制器都是独立的组件,易于开发和修改;其次,它可以实现开发任务的分组协作,因为每个组件都是独立开发的,开发者可以在不干扰彼此的前提下开发自己的代码;最后,它可以实现更好的应用程序结构和代码维护性,因为每个组件都聚焦于一项任务或一个职责。 总的来说,MVC模式Java EE中广泛应用,它可以帮助开发人员构建大规模的Web应用程序,并提供更好的代码复用性和维护性。对于开发人员来说,熟练掌握MVC模式并实践它周边的企业应用所需的技术(如数据库连接、工具类编写)是分必要的。 ### 回答3: Java EEJava Enterprise Edition的缩写,是Java技术用于企业级应用程序开发的平台。它包括许多框架和API,用于设计和开发Web应用程序,如Java Servlet、JSP、数据库连接API、Java Persistence API(JPA)等等。 在 Java EE 中,MVC模式是广泛应用于网站设计的一种设计模式MVC是一种将应用程序分为模型、视图和控制器三个部分的设计模式。 模型(Model)是应用程序中处理数据和功能的部分。它访问和更新持久化的数据,处理业务逻辑并提交这些数据给控制器来更新。 视图(View)是应用程序中显示数据的部分。它负责显示来自控制器和模型的数据,并处理如何和用户进行交互和响应。视图通常由Web界面来呈现数据。 控制器(Controller)是应用程序中处理用户交互以及调度和控制其他组件的部分。它接收来自视图的用户请求,然后将它们传递给模型进行处理,并且响应模型和视图之间的事件。 在Java EE中,使用MVC模式有诸多好处,如: 1. 实现了应用程序的高内聚和低耦合。模型中的数据和逻辑可以独立于其他组件进行设计和开发,这样可以更加容易地进行维护和升级。 2. MVC模式允许视图和控制器进行多样和灵活地设计。控制器可以处理来自任何视图的请求,并返回数据给视图。 3. 隔离性较好。因为模型与视图和控制器总是分离的,所以可以在没有应用程序其他部分的情况下单独测试、修改和更新任何一个组件。 总之,在Java EE中,MVC模式是一种可靠、有效的网站设计模式,提高了应用程序代码的可维护性,实现了代码的高内聚和低耦合,为开发人员提供了更大的灵活性和可扩展性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值