SpringMVC架构&组件&执行流程
SpringMVC架构:
组件:
DIspatcherServlet:前端控制器。相当于mvc模式的c,是整个流程控制的中心,负责调用其他组件处理用户的请求,降低了组件之间的耦合性。
HandlerMapping:处理器映射器。负责根据url找到Handler即处理器,SpringMVC提供了不同的映射器实现不同映射方式如配置文件方式,实现接口方式,注解方式。
HandleAdapter:处理器适配器。通过HandlerAdapter对处理器Handler进行执行,这是适配器模式的应用。
Handler:处理器。是继DispacherSevlet前端控制器的后端控制器,在DispatcherServlet的控制下,Handler对具体的用户请求进行处理,返回ModelAndView给适配器,由适配器再返回给前端控制器。
ViewResolver:视图解析器。负责将处理结果生成view视图,ViewResolver首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成view视图对象,最后对View进行渲染将结果通过页面展示给用户。
View视图:SpringMVC框架提供了很多的View视图类型的支持,比如:jstlView等待,常用视图是jsp.
架构流程:
1 用户发送请求到前端控制器DispacherServlet
2 DispacherServlet收到请求调用HandleMapping处理映射器
3 处理映射器根据请求url找到具体的处理器,生成处理器对象以及处理器拦截器并返回给DispacherServlet
4 DispatcherServlet通过HandlerAdaptec处理器适配器调用处理器
5 执行处理器(Controller),执行得到ModelAndView,返回给DispacherServlet
6 DispatcherServlet将ModelAndView传给ViewResolver视图解析器,解析后返回具体View
7 DispatcherServlet对view进行渲染视图(将模型数据填充至视图中),响应给用户
组件扫描器:省去在Spring容器中配置每个Controller类的繁琐。配置之后在Controller类上添加@Controller注解即可。
注解驱动:免去配置注解器映射器和注解器适配器的繁琐
视图解析器:配置试图的前缀和后缀