学习springmvc的第十八天(springmvc处理流程)
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方法;
流程图: