一、首先什么是SpringMVC?
SpringMVC是一个基于MVC实现的web框架,用于替代传统的servlet。MVC全名是Model View Controller,是模型(model)——视图(view)——控制器(controller)的缩写。
二、同类的技术有哪些?
SpringMVC同类的技术要数Struts2
三、对比同类的优缺点是哪些?
对比Struts2的优势很明显:
1、拦截机制的不同,Struts2是类级别的拦截,SpringMVC是方法级别的拦截
2、底层架构的不同,Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC则是采用Servlet(DispatcherServlet)实现。
3、配置方面不同,SpringMVC和Spring是无缝结合的,相对于Struts2省却了很多配置,提高了开发效率符合当前敏捷开发思路。
四、SpringMVC的组成部分?
1、前端控制器(DispatcherServlet)——框架已提供不需要开发
中央处理器,负责请求的转发,相当于一个请求转发器
2、处理器映射器(HandlerMapping)——框架已提供不需要开发
接收到前端控制器发送来的url后,对url进行匹配,返回给前端控制器一个处理器执行链(HandlerExecuteChain)
3、处理器适配器(HandlerAdapter)——框架已提供不需要开发
接收到前端控制器要寻找的Handler,选择对应的Handler进行执行,执行后返回给前端控制器ModelAndView
4、处理器(Handler)——需要程序员开发
接受前端控制器发送来的任务,返回ModelAndView给处理器适配器
5、视图解析器(ViewResolver)——框架已提供不需要开发
接受前端控制器发送来的逻辑视图(ModelAndView),转换成真正的视图,返还给前端控制器供其渲染
6、视图(View)——需要程序员开发
经过视图解析器生成的视图(如JSP、Excel、Freemarker、PDF等等),经前端控制器渲染后发送到请求方
五、SpringMVC项目的架构图
SpringMVC架构原理解析如下:
第一步:客户端发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求HandlerMapping处理器映射器去查找相应的Handler,其中映射器可以通过XML配置也可通过注解实现
第三步:处理器映射器对url进行匹配后返回给前端控制器执行链(HandlerExecutionChain)
第四步:下一步开始请求执行Handler,请求到了处理器适配器(HandlerAdapter)去适配相应的Handler方法
第五步:Handler开始执行
第六步:Handler执行完返回ModelAndView给处理器适配器(HandlerAdapter)
第七步:处理器适配器向前端控制器返回ModelAndView对象
第八步:前端控制器把请求发送到视图解析器(ViewResolver)进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染,视图渲染将视图模型数据(在ModelAndView对象中)填充到request域中
第十一步:前端控制器向用户响应结果
总结:
今天先大体上介绍了什么是SpringMVC,并且介绍了请求的流转流程,后续会陆续更新SpringMVC的各个模块以及用法
来源:CSDN
作者:Leo825爱Coding
链接:https://blog.csdn.net/u011047968/article/details/103734077