Servlet初始化

         DispatcherServlet( 前端控制器 ) Spring MVC中最核心的一个类, 它负责请求的行为流转, 接收请求、响应结果, 相当于转发器  。 那么在Servlet的初始化阶段,会调用 init() 方法进行各个组件的初始化操作,该方法 由其父类HttpServletBean负责实现 的.
        
初始化MVC各个组件
HandlerMapping(处理程序映射器)  根据请求的 URL 来查找 Handler
HandlerAdapter(处理程序适配器) 执行Handler .
Handler(处理器 )  处理业务逻辑的 Java 类(我们自己写的 Controller 类)。
ViewResolver(视图解析器)  进行视图的解析,根据视图逻辑名将 ModelAndView 解析成真正的视图( view
View(视图)  View 是一个接口, 它的实现类支持不同的视图类型,如 jsp,freemarker, pdf 等。
MultipartResolver   处理文件上传功能
LocaleResolver   国际化多语言配置
ThemeResolver   主题解析器的接口

HandlerExceptionResolver   生成ModelAndView对象实例

RequestToViewNameTranslator  用来当Controller没有返回View对象或者逻辑视图名称,并且在该方法中没有直接往 response的OutputStream里面写数据, 获取默认视图名称.

MVC执行流程

  1. 用户发送请求到前端控制器(DispatcherServlet)。
  2. 前端控制器 (DispatcherServlet) 收到请求调用处理器映射器 (HandlerMapping),去查找处理器(Handler)。
  3. 处理器映射器(HandlerMapping)找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。
  4. 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)。
  5. 处理器适配器(HandlerAdapter)去调用自定义的处理器类(Controller)。
  6. 自定义的处理器类(Controller)将得到的参数进行处理并返回结果给处理器适配器(HandlerAdapter)。
  7. 处理器适配器 (HandlerAdapter)将得到的结果返回给前端控制器 (DispatcherServlet)。
  8. 前端控制器(DispatcherServlet)将 ModelAndView 传给视图解析器 (ViewReslover)。
  9. 视图解析器(ViewReslover)将得到的参数从逻辑视图转换为物理视图并返回给前端控制器(DispatcherServlet)。
  10. 前端控制器(DispatcherServlet)调用物理视图进行渲染并返回。
  11. 前端控制器(DispatcherServlet)将渲染后的结果返回。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部