SpringMVC架构原理解析

SpringMVC架构原理解析

这里写图片描述

SrpringMVC处理步骤:
1. 用户发起request请求到前端控制器DispatcherServlet
2. 前端控制器DispatcherServlet请求HandlerMapping来查找Handler,可以查找xml配置,注解来进行查找

比如我在web.xml中配置dispatcherServlet 里头配置contextConfigLocation->applicationContext.xml 而这个xml文件里我注册了一个HandlerMapping处理映射器 里头我设置一个请求叫say.do 当我在url里请求http://localhost:/项目名/say.do 这时候HandlerMapping就查找到了我刚注册的Handler

3. 处理器映射器向前段控制器返回Handler
4. 前端控制器调用专门负责处理Handler的处理器适配器HandlerAdapter去执行Handler
5. 处理器适配器HandlerAdapter去执行Handler
6. Handler执行完给适配器返回MoldelAndView
7. 适配器向前端控制器DispatcherServlet返回ModelAndView
8. 前端控制器DispatcherServlet请求视图解析器去进行视图解析 根据逻辑视图名解析成真正的物理视图(如jsp)
9. 视图解析器给前段控制器返回view
10. 前端控制器进行视图渲染视图渲染也即是将模型数据(在ModelAndView当中)填充到request域
11. 前段控制器向用户相应结果


重要组件

  • DispatcherServlett(程序员不需要开发)
    作用:接受请求request,相应请求response,相当于转发器,调度服务用的
    有了前段控制器,减少了其他组件之间的耦合度。

  • 处理器映射器HandlerMapping (程序员不需要开发)
    作用:根据请求的url查找Handler

  • 处理器Handler(需要程序员开发) 也就是我们在在Controller层写的Controller类
  • 处理器适配器HandlerAdapter(程序员不需要开发)
    作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler
  • 视图解析器(程序员不需要开发)
    作用:进行逻辑视图,根据逻辑视图名解析成真正的视图(View)
  • 视图View(需要程序员开发,比如写jsp)
    View是一个接口,实现类支持不同的View类型(jsp,freemaker,pdf…)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值