Spring MVC理解

介绍下MVC

MVC是一种架构型的模式,本身并不引入新的功能。它帮助我们将开发的结构组织的更加合理,使得业务处理逻辑、视图展示逻辑流程控制逻辑分离开来。有三个核心组件: Model 模型 提供要展示的数据和业务逻辑处理,View 视图 展示来自模型的数据, Controller 控制器:接收用户请求,根据请求委派给模型进行处理,将模型处理后的数据交给View处理,进行数据的展示。扮演调度员的角色。

Spring MVC的核心入口是DispatcherServlet, DispatcherServlet本质上是一个Servlet。servlet有三个生命周期方法。

  1. init() 在服务器加载servlet时执行,并且只执行一次。
  2. destory()在服务器销毁servlet时执行,释放资源。
  3. service()当客户端向服务端发送消息时,服务器将请求转发到servlet的service方法。 

当服务器加载DispatcherServlet时,会调用DispatcherServlet的init方法, 创建SpringMVC自己的上下文,同时会获取根上下文(Spring上下文), 并将该上下文和根上下文关联起来。此外还会进行一些初始化工作, 处理器映射器、处理器适配器、处理器异常解析器等。

SpringMVC的执行流程

  1. 用户请求到前端控制器DispatcherServlet
  2. DispatcherServlet根据请求找到对应的HandlerMapping处理器映射器。
  3. HandlerMapping根据url找到handler并生成HandlerExecutionChain处理器执行器链(包括处理器对象和处理器拦截器)
  4. DispatcherServlet根据Handler找到对应HandlerAdapter处理器适配器并执行。 HandlerAdapter包括一系列的操作:参数封装、数据格式转换等操作。
  5.  执行Handler(controller, 也叫页面控制器)
  6. handler执行后生成ModelAndVIew并返回给给HandlerAdapter。
  7. handlerAdapter将handler的返回结果返回给DispatcherServlet。
  8. ViewReslover处理ModelAndVIew并生成View。
  9. DispatcherServlet对View进行渲染。(将model 数据填充到View中)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值