1.什么是SpringMVC
SpringMVC是Spring框架的一个模块,SpringMVC和Spring无需通过中间整合层进行整合。SpringMVC是一个基于MVC的Web框架。
2.MVC在B/S系统下的应用
MVC是一个设计模式,MVC在B/S系统下的应用:
3.SpringMVC框架
第一步:发起请求到前端控制器(DispatcherServlet);
第二步:前端控制器请求HandlerMapping查找Handler,可以根据xml配置,注解进行查找;
第三步:处理器映射器HandlerMapping向前端控制器返回Headler;
第四步:前端控制器调用处理器映射器去执行Headler;
第五步:处理器映射器去执行Headler;
第六步:Headler执行完成给适配器返回ModelAndView;
第七步:处理器适配器向前端控制器返回ModelAndView,ModelAndView是SpringMVC框架的一个底层对象,包括Model和View;
第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp);
第九步:视图解析器向前端控制器返回View;
第十步:前端控制器进行视图渲染,视图渲染将模型数据(在ModelAndView对象中)填充到request域;
第十一步:前端控制器向前端响应结果;
组件:
(1)前端控制器DispatcherServlet(不需要程序员开发)
作用:接收请求,响应结果,相当于转发器,中央处理器,有了DispatcherServlet减少了其他组件之间的耦合性
(2)处理器映射器HeadlerMapping(不需要程序员开发)
作用:根据请求的url,查找Headler
(3)处理器适配器HeadlerAdapter
作用:按照特定规则(HeadlerAdapter要求的规则)去执行Headler
(4)处理器Healder(需要程序员开发)
作用:编写Headler时,按照HeadlerAdapter的要求去做,这样适配器才可以正常执行Healder
(5)视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
(6)视图View(需要程序员开发jsp)
作用:View是一个接口,实现类支持不同的View类型(jsp,freemarker,pdf)