运行流程分析 析


如图

springmvc 运行流程分析springmvc 运行流程分析springmvc 运行流程分析

运行步骤:
1、 首先用户发送请求 http://localhost:9080/springmvc-chapter2/hello——>web 容器,web 容器根据“/hello”路径映射到
DispatcherServlet(url-pattern 为/)进行处理;
2、 DispatcherServlet——>BeanNameUrlHandlerMapping 进行请求到处理的映射,BeanNameUrlHandlerMapping 将
“/hello”路径直接映射到名字为“/hello”的 Bean 进行处理,即 HelloWorldController,BeanNameUrlHandlerMapping
将其包装为 HandlerExecutionChain(只包括 HelloWorldController 处理器,没有拦截器);
3、 DispatcherServlet——> SimpleControllerHandlerAdapter,SimpleControllerHandlerAdapter 将 HandlerExecutionChain
中的处理器(HelloWorldController)适配为 SimpleControllerHandlerAdapter;
4、 SimpleControllerHandlerAdapter — — >  HelloWorldController 处 理 器 功 能 处 理 方 法 的 调 用 ,
SimpleControllerHandlerAdapter 将会调用处理器的 handleRequest 方法进行功能处理 ,该处理方法返回一
个 ModelAndView 给 DispatcherServlet;
5、 hello(ModelAndView 的逻辑视图名)——>InternalResourceViewResolver, InternalResourceViewResolver 使用
JstlView,具体视图页面在/WEB-INF/jsp/hello.jsp;
6、 JstlView(/WEB-INF/jsp/hello.jsp)——>渲染,将在处理器传入的模型数据(message=HelloWorld!)在视图中展示出
来;
7、 返回控制权给 DispatcherServlet,由 DispatcherServlet 返回响应给用户,到此一个流程结束。
到此 HelloWorld 就完成了,步骤是不是有点多?而且回忆下我们主要进行了如下配置:
1、 前端控制器 DispatcherServlet;
2、 HandlerMapping
3、 HandlerAdapter
4、 ViewResolver
5、 处理器/页面控制器
6、 视图

相关文章:

  • 2021-12-24
  • 2022-12-23
  • 2021-03-31
  • 2021-09-01
  • 2021-06-09
  • 2021-10-14
猜你喜欢
  • 2021-04-07
  • 2022-12-23
  • 2021-11-14
  • 2021-05-04
相关资源
相似解决方案