SpringMVC工作原理

来源:互联网 发布:学生护手霜推荐 知乎 编辑:程序博客网 时间:2024/06/05 05:21

昨天注册了CSDN账号,(热烈欢迎一下自己 ,略略略),今天忍不住想写一点东西了,其实也不算写,这篇文章大部分都是在看了系列视屏后的一些总结,个人认为最好的学习方法就是动脑+总结知识点以及问题。以后的文章主要是总结知识点+提出问题,并努力在第二天解决(有种自己给自己挖坑的感觉,哈哈,不过,开心就好),今天主要总结一下SpringMVC工作原理

 以下是自己整理的一个图:


图解:

  ①:前端控制器接受客户端浏览器的请求。

  ②:前端控制器调用HandlerMapping查找HandlerHandlderMapping返回一个执行链。

  ③:前端控制器调用HandlerAdapter

  ④:HandlerAdapter执行Handler,并返回一个ModelAndView给前端控制器。

  ⑤:前端控制器调用视图解析器,将ModelAndView中的逻辑视图(加前缀加后缀)解析成真正的视图,并返回到View


  ⑥:对得到的View进行视图渲染:将模型数据填充到request域中。

  ⑦:前端控制器响应请求,将View返回给客户端。

组件:

1.前端控制器 DispatcherServlet

作用:接受客户端请求,并将结果响应给客户端,类似于一个转发器

 

2.处理器映射器 HandlerMapping

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

 

3.处理器适配器 HandlerAdapter

作用:按照 HandlerAdapter 要求的规则去执行Handler

 

4.视图解析器 ViewResolver

作用: 将逻辑视图名解析成真正的视图名,这个时候我觉得有必要举个例子

ModelAndView mav = new ModelAndView("bussiness_login");

这样就可以得到真正的视图名/WEB-INF/jsp/bussiness_login.jsp

5.视图View

作用:View是一个接口,实现类支持不同的类型(jsppdf等)

 

问题:

1.前端控制器究竟为什么能调用处理器适配器、处理器映射器、以及视图解析器?

2.什么是处理器适配器、处理器映射器?(May_mm表示很迷惑,明天希望更深入一步,不求多,进步一点点就好)

3.跟踪一下View接口的源码,看看它究竟是个什么东东?(使用跟踪二字仿佛自己是个大手子,哈哈,写完自己都笑了)

4.处理器映射器返回的是一个链,究竟是什么?(这个时候是不是又得跟踪源码了,写着写着我又笑了)

附加:

  如果有多余时间的话,写一下需要的配置文件,想想明天最早晚上1830后才能着手解决上面的问题,我突然意识到写附加任务简直是个笑话,哈哈,不管怎样,先写着吧,万一完成了呢?

 

个人说明:

本文章只是我学习后的一点总结,文章中难免会有一些问题,若各位大牛看到了,请不要吝啬赐教,最好能在评论中很严厉、深刻的指出来,万一这篇文章有幸被人看到并参考,误导了人家那真是我的罪过,阿弥陀佛,么么哒,慎点呀施主。


                                                May_mm : 2017/9/2  22:55