springmvc的核心,请求流程,

来源:互联网 发布:阿拉曼战役 知乎 编辑:程序博客网 时间:2024/06/04 00:20

一  springmvc的核心

springmvc是基于Servlet的前端控制框架,核心是ioc和aop

二 请求流程

1 首先用户发送请求到前端控制器DispatcherServlet,也是springmvc的核心控制器,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;

     2 DispatcherServlet调用HandlerMapping,HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器对象,也就是Controller层,多个 HandlerInterceptor拦截器)返回给DispatcherServlet;

     3 DispatcherServlet根据得到的Handler,调用合适的HandlerAdapter,HandlerAdapter将会把处理器       (Handler) 包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处        理器。

     4 HandlerAdapter会根据适配的结果调用真正的处理器(Handler)完成请求处理,并向DispatcherServlet返回一个           ModelAndView对象。

     5 根据返回的ModelAndView选择一个适合的ViewResolver(视图解析器)返回给DispatcherServlet

     6 ViewResolver根据view 和 model 渲染视图

     7 将渲染结果返回给客户端。

三 控制反转的实现

IOC控制反转的实现是基于spring的bean工厂,当你需要引用一个对象时,将本来应该由你控制的实例化对象的操作

交给配置好的xml来进行,然后再给你注入进去,从而降低代码间的耦合度