一.SpringMVC介绍
springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。
二.执行流程
1.用户发起请求到前端控制器(DispatcherServlet)
2.前端控制器请求处理器映射器(HandlerMapping)查找Handler(可根据xml配置、注解进行查找)
3.处理器映射器(HandlerMapping)向前端控制器返回Handler
4.前端控制器调用处理器适配器(HandlerAdapter)执行Handler
5.处理器适配器(HandlerAdapter)执行Handler
6.Handler执行完,给适配器返回ModelAndView(Springmvc框架的一个底层对象)
7.处理器适配器(HandlerAdapter)向前端控制器返回ModelAndView
8.前端控制器(DispatcherServlet)请求视图解析器(ViewResolver)进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
9.视图解析器(ViewResolver)向前端控制器(DispatcherServlet)返回View
10.前端控制器进行视图渲染,即将模型数据(在ModelAndView对象中)填充到request域
11.前端控制器向用户响应结果
三.框架原理
1.前端控制器DispatcherServlet(不需要程序员开发)
作用:接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。
2.处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler
3.处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
4.处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
5.视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
6.视图View(需要程序员开发jsp)
作用:View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)