您的位置:首页 > 编程语言 > Java开发

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、 视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc