对象不用我去找,我只管来学SpringMVC原理(三)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 分析执行流程

分析执行流程


  • DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接受请求并拦截请求;


  • 例如请求的url为:http://localhost:8080/SpringMVC/hello


  • 将url拆分成三部分:


  • http://localhost:8080 服务器域名


  • SpringMVC是部署在服务器上的web站点


  • hello表示控制器


  • 通过分析,url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器


  • HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。


  • HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello


  • HandlerExecution为解析后的信息传递给DispatcherServlet,如解析控制器映射等


  • HandlerAdapter表示处理器是配置,其按照特定的规则去执行Handler


  • Handler让具体的Controller执行


  • Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView


  • HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet。


  • DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名


  • 视图解析器将解析的逻辑视图名传给DispatcherServlet


  • DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图


  • 最终视图呈现出来


视图解析器:DispatcherServlet给它的ModelAndView


获取了ModelAndView的数据

解析ModelAndView的视图名字

拼接视图名,找到对应的视图

将数据渲染到这个视图上

相关文章
|
5月前
SpringMVC 域对象共享数据
SpringMVC 域对象共享数据
29 0
|
5月前
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
59 1
|
5月前
SpringMVC之获取请求参数和域对象共享数据
【1月更文挑战第18天】 一、SpringMVC获取请求参数 1、通过ServletAPI获取 2、通过控制器方法的形参获取请求参数 3、@RequestParam 4、@RequestHeader 5、@CookieValue 6、通过POJO获取请求参数 7、解决获取请求参数的乱码问题 二、域对象共享数据 1、使用ServletAPI向request域对象共享数据 2、使用ModelAndView向request域对象共享数据 3、使用Model向request域对象共享数据 4、使用map向request域对象共享数据 5、使用ModelMap向request域对象共享数据
98 0
|
5月前
|
前端开发 Java 应用服务中间件
SpringMVC源码分析之策略对象初始化
SpringMVC源码分析之策略对象初始化
58 0
|
5月前
|
Java Spring
SpringMVC控制层private方法中出现注入的service对象空指针异常
一、现象 SpringMVC中controller里的private接口中注入的service层的bean为null,而同一个controller中访问修饰符为public和protected的方法不会出现这样的问题。 controller中的方法被AOP进行了代理,普通Controller如果没有AOP,private方法中bean也是正常的。
|
11月前
|
Java Spring
springMVC中获取request 对象
springMVC中获取request 对象
|
12月前
|
存储 JavaScript 前端开发
SpringMVC 域对象共享数据
SpringMVC 域对象共享数据
SpringMVC学习(五):向request域对象共享数据的五种方法
SpringMVC学习(五):向request域对象共享数据的五种方法
128 0
SpringMVC学习(五):向request域对象共享数据的五种方法
|
前端开发 Java API
Spring MVC框架:第二章:视图解析器和@RequestMapping注解使用在类级别及获取原生Servlet API对象
Spring MVC框架:第二章:视图解析器和@RequestMapping注解使用在类级别及获取原生Servlet API对象
275 0