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,将视图返回给用户。

posted @ 2021-11-25 20:45  一刹流云散  阅读(32)  评论(0编辑  收藏  举报