组件
DispatherServlet 前端控制器(查询handler、执行handler)
HandlerMapping 处理器映射器(查询路径(key值路径path,value值类名#方法名),返回HandlerExecutionChain)
HandlerAdaptor 处理器适配器(去执行处理器Handler并处理Handler请求参数和Handler返回值;)
ViewResolver 视图解析器
DispatherServlet --> handlerMapping
DispatherServlet --> handlerAdaptor
DispatherServlet --> viewResolver
DispatherServlet --> 渲染视图
handlerAdaptor ---> 处理器handler
springmvc 执行流程知道么?
版本1:视图版本,jsp
- 用户发送请求到前端控制器dispatcherServlet
- dispatcherServlet收到请求调用HandlerMapping(处理器映射器)
- handlerMapping找到具体的处理器,生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet
- DispatcherServlet调用HandlerAdapter(处理器适配器)
- HandlerAdapter找到具体的处理器(handler/controller)
- controller执行完成后返回modelAndView对象
- HandlerAdapter将controller执行结果modelAndView对象返回给DispatcherServlet
- DispatcherServlet将modelAndView传给viewReslover(视图解析器)
- viewReslover解析后返回具体view(视图)
- DispatcherServlet根据view进行渲染视图(将数据模型填充至视频中)
- DispatcherServlet响应给用户页面
版本2:前后端开发,接口开发
- 用户发送请求到前端控制器dispatcherServlet
- dispatcherServlet收到请求调用HandlerMapping(处理器映射器)
- handlerMapping找到具体的处理器,生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet
- DispatcherServlet调用HandlerAdapter(处理器适配器)
- HandlerAdapter找到具体的处理器(handler/controller)
- 方法上添加了@ResponseBody
- 通过HttpMessageConverter来返回结果转换为JSON并响应