Spring MVC 工作流程
欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot
Handler是特定工具,HandlerMapping是找到特定的工具,HandlerAdapter是使用工具的人
发送请求->
中央控制器
(dispatcherServlet)(该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问)->
处理器映射器
(handlerMapping:通过HandlerMapping完成url到controller映射的组件,并返回handlerExecutionChain)
(handlerExecutionChain包含handlerIntercepter:处理器拦截器,handler:处理器对象)->
HandlerMapping接口:
HandlerExecutionChain是通过HandlerMapping的getHandler(HttpServletRequest request)方法返回的。
继承该接口的类是来实现请求和handler对象的映射关系的。
HandlerExecutionChain类:
这个类由一个Handler和若干的HandlerInterceptor构成。将拦截器和Handle组合起来执行,即对Handle进行了包装。
中央控制器->
处理器适配器
(handlerAdapter:用于适配,执行处理器)(dispatcherServlet根据Handler找到handlerAdapter)->
处理器
(handler:处理业务,并返回modelAndView给handlerAdapter)->
处理器适配器
(返回modelAndView给dispatcherServlet)->
中央控制器->
视图解析器
(viewResolver:解析视图,并返回view)
(ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象)->
中央控制器->
渲染视图(对View进行渲染),将处理结果通过页面展示给用户