求生声明:小弟是个初学者,理解得不到位的地方,欢迎各位大佬指出,必虚心改进,但也拒绝喷子和引战。
-------------------------------------------------------
引
刚毕业的一次面试,让我谈谈对SpringMVC的理解,心里窃喜,这个背过,照本宣科一顿背书。
我以为面试官很满意,谁知面试官依然不依不饶:说一下前端控制器的工作方式,还好,这个我也看过,可是只记得一点点,当时脑海里呈现的是这张图
这要是心态不好的人很容易爆炸的好吧
目录
一、初识DispatchServlet
二、DispatchServlet的工作方式
三、小结
一、初识DispatchServlet
一问:为什么要有DispatchServlet?
其封装了Http请求,让我们不用再继承一大推Http类,不需要重复的写请求接收和转发的代码,得以简单的方式接收和返回请求数据
二问:DispatchServlet是什么?
见名知意,其本质就是****Servlet对象,最上层的继承对象就是HttpServlet。
二、DispatchServlet的工作方式
其实跟上面那张图差不多,但是进行了更清晰的绘制,大致分为三步:
1、不知是否有过疑虑,为什么一个简单的注解,请求就找到了我们的Controller?
这一切都是HandlerMapping的功劳,HandlerMapping存储了映射路径
2、知道了Contoller地址后,就将请求信息发送给Controller,Controller拿到请求信息,用我们的业务逻辑进行处理,处理完返回一个ModelAndView对象,该对象存储了Mode模型数据和视图对象。
3、最后,DispatchServlet将ModelAndView对象交给视图对象View,从而完成数据的视图呈现工作**。**
到这里DispatchServlet的工作算是完成了,剩下的就是将View对象返回的数据,返回给客户端进行页面渲染。
- M大致对应:ModelAndView的生成
- C大致对应:DispatchServlet与用户业务逻辑有关的Handler实现
- V大致对应:对ModelAndView的解析返回视图数据
三、小结
Spring的学习暂时告一段落,接下来会学习一下Vue,在项目中再来加深对Spring和Vue的理解。
最后再附一张图供大家学习
[【学习笔记-6】AOP——Spring两大核心之一 #掘金文章# juejin.cn/post/687157… #掘金文章# juejin.cn/post/687157…)
[IoC——Spring的两大核心之一 #掘金文章# ](IoC——Spring的两大核心之一 #掘金文章# juejin.cn/post/686154…](IoC——Spring的两大核心之一 #掘金文章# juejin.cn/post/686154…)