架构流程
首先用户发送一个请求会到达前端控制器
DispatcherServletDispatcherServlet收到用户的请求之后会调用HandlerMapping处理器映射器 处理器映射器根据请求的url找到具体的处理器 生成处理器对象及处理器拦截器(如果有则生成)之后并返回给DispatcherServletDispatcherServlet通过HandlerAdapter处理器适配器调用处理器 执行处理器(Controller,也叫后端控制器) Controller 执行完成后返回ModelAndViewHandlerAdapter将 controller 的执行结果ModelAndView返回给DispatcherServletDispatcherServlet将ModelAndView传给ViewReslover视图解析器ViewReslover解析后返回一个具体的ViewDispatcherServlet对View进行渲染也就是视图(将模型数据填充至视图中)在响应给用户查看
架构流程图
组件说明
DispatcherServlet
前端控制器用户请求会到达前端控制器,它就相当于 MVC 模式中的CDispatcherServlet是整个流程控制的中心 由它调用其它的组件来进行处理用户的请求DispatcherServlet的存在降低了组件之间的耦合性
HandlerMapping
处理器映射器HandlerMapping负责根据用户请求的url找到对应的Handler处理器 SpringMVC 还提供了不同的映射器为了实现不同的映射方式HandlerMapping会把找到的映射返回给前端控制器
Handler
后端控制器在DispatcherServlet的控制下调用Handler对用户具体的请求进行处理
HandlAdapter
处理器适配器通过HandlerAdapter对处理器进行执行
ViewResolver
视图解析器View Resolver负责将处理器处理的结果生成View视图
View
SpringMVC 框架提供了很多的
View视图类型的支持 包括如:jstlView、freemarkerView、pdfView等 我们最常用的视图就是jsp