1.什么是springmvc?怎么理解
它是一个基于java的实现了mvc设计模式的请求请求驱动类型的轻量级web框架,通过model、view、controller分离,将web层进行职责解耦,把复杂的web引用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
2.流程
(1)用户发送请求到前置控制器DispatcherServlet
(2)DispactcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle
(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
(4)DispacherServlet调用HandlerAdapter处理器适配器
(5)HandlerAdapter经过适配调用具体的处理器(Handler,也叫后端控制器)
(6)Handler执行完成返回ModelAndView
(7)HandlerAdapter将Handler执行结果ModelAndView返回给DisptcherServlet()
(8)DispatcerServlet将传过来的ModelAndView传给ViewResolver视图解析器进行解析
(9)ViewResolver解析后返回具体的view
(10)DispatcherServlet对view进行渲染视图(即将模型数据填充到视图中)
(11)DispatcherServlet响应客户
3.优点
(1)支持各种视图技术,而不仅仅局限于jsp
(2)与spring框架集成(如ioc容器、aop等)
(3)清晰的角色分配:
- 前置控制器 DispatcherServlet
- 处理器映射器 HandlerMapping
- 处理器适配器 HandlerAdapter
- 视图解析器 viewResolver 根据视图逻辑名解析成真正的视图
(4)支持各种请求资源的映射策略
理解:
- handler就是类,就是处理器,就是各种方法的集合。
- view就是视图,jsp、html等
- DispatcherServlet相当于一个大型的中转站,所有的请求会经过它的转发,也叫分发器
- 对处理器适配器有了新的理解,字面意思是找到适合的处理器,其实是找到执行方法。
理解的有什么偏差?望各位博主指出,谢谢!
来源:https://blog.csdn.net/qq_41557799/article/details/100971281