学习springmvc的第十八天(springmvc处理流程)

来源:互联网 发布:lol美服账号购买 淘宝 编辑:程序博客网 时间:2024/06/06 10:53

1、客户端发起请求;

2、被拦截器拦截,调用DispatcherServlet类的doDispatch方法;

3、通过getHandler方法获取HandlerExecutionChain对象;

HandlerExecutionChain其中包括本次请求的方法和自定义的拦截器

4、通过getHandlerAdapter方法获取HandlerAdapter对象;

HandlerAdapter:适配器;其中包括请求数据到实体类的数据绑定和数据转换;

5、通过HandlerExecutionChain对象调用拦截器的preHandle方法;

6、通过HandlerAdapter调用本次请求的目标方法并返回ModelAndView;

ModelAndView其中包括视图名字

7、通过HandlerExecutionChain对象调用拦截器的postHandle方法;

8、通过调用render方法获取并渲染视图;

9、通过循环视图list和视图名字获取视图对象View;

10、调用View的render方法渲染视图;

11、通过getRequestDispatcher获取RequestDispatcher对象;

12、通过RequestDispatcher对象转发到视图;

13、通过HandlerExecutionChain调用拦截器的afterCompletion方法;

流程图: