SpringMVC执行流程
<!--处理器映射器 BeanNameUrlHandlerMapping 根据bean的名字来找controller -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--视图解析器 模板引擎-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>
</bean>
<!--handler BeanNameUrlHandlerMapping:bean-->
<bean id="/hello" class="com.ji.controller.helloController"/>
1.用户发起请求
2.DispatcherServlet将请求转发给映射器HandlerMapping
3.处理器映射器HandlerMapping根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet,找到handler对象
4.将handler对象返回给DispatcherServlet
5.根据handler对象找到handler具体类
6.执行handler中处理逻辑
7.执行处理器Handler(Controller,也叫页面控制器)。返回一个ModelAndView对象
8.将ModelAndView对象转化为视图逻辑模型返回给DispatcherServlet
9.通过ViewResolver视图解析器,将上一步骤中生成的视图逻辑模型解析为View;
10.将view返回给DispatcherServlet
11.DispatcherServlet根据获取到的View,将视图返回给用户。