springmvc 运行流程分析
2017-05-02 10:18
218 查看
运行流程分析 析
如图
运行步骤:
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、 视图
如图
运行步骤:
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、 视图
相关文章推荐
- springMVC运行流程分析
- SpringMVC 运行流程分析
- SpringMVC运行流程分析
- springmvc的运行流程分析
- 注解式控制器运行流程及处理器定义 第六章 注解式控制器详解——跟着开涛学SpringMVC
- 第六章、SpringMVC学习- 注解式控制器详解(1)-注解式控制器运行流程及处理器定义
- spydroid源码分析(二):spydroid运行流程
- WordPress 运行流程分析
- 开源工作流Fireflow源码分析之运行流程二
- Play之Scala-Web项目运行流程-简单分析(1)
- ffplay程序运行流程分析
- 开源工作流Fireflow源码分析之运行流程一
- Nutch爬虫运行流程分析
- [gevent源码分析] 深度分析gevent运行流程
- codeigniter源代码分析之CI系统运行流程 CodeIgniter.php
- Play之Scala-Web项目运行流程-简单分析(1)
- android源码settings中显示所有正在运行进程流程分析
- Wcf运行时执行流程分析
- 方维分享系统首页运行流程分析
- Play之Scala-Web项目运行流程-简单分析(3)