SpringMVC

9 篇文章 0 订阅

目录

一、MVC

二、SpringMVC


在我们平时的javaWeb项目中。我们似乎用到了mvc模式,但是具体在哪里用到了却又傻傻分不清?。Controller,View层倒是好区分,可model层呢?service、Dao有事个什么玩意儿??于是写下了这篇文章,让我们带着问题开始吧?!

  • 什么是mvc
  • 什么是springMVC
  • springMVC它解决了什么问题
  • springMVC它的原理是什么

一、MVC

一般我们都知道

C代表Controller:负责转发请求,对请求进行处理。
V代表View:视图,用于展示。
那M呢?以前一直以为Model就是用来承接数据的,就是一些单纯的java类用于对于数据库中的表。然而,并不是这样的。完整的Model应该还要包含对数据直接访问的权力,例如对数据库的访问。

然而问题来了,我业务逻辑写在哪里啊,是C还是M❓。

由于C只是一个个控制器,不负责业务,它只负责安排人来执行任务。所以我们将复杂业务逻辑写在M中

 万一有负责的业务逻辑呢?这势必会导致M层有复杂的方法。并且,为了代码复用,可以将数据库方法提取出来,这样就产生了Dao层。相当于此时M层又被分解了,一部分叫做Dao,另一部分叫做Entity,另一部分叫做Service。

  • Dao:进行数据库访问
  • Entity:用于承载数据,对应数据库中的表
  • Service:编写程序应有的功能(实现算法等等)

二、SpringMVC

SpringMVC是一个实现了MVC设计模式都轻量级Web框架

其工作流程如下:

  • 用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截;
     
  • DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器;
  • 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
  • DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器);
  • HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器;
  • Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名;
  • HandlerAdapter将ModelAndView对象返回给DispatcherServlet;
  • DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器);
  • ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图);
  • DispatcherServlet对View进行渲染(即将模型数据填充至视图中);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值