SpringMVC(二)----架构原理

SpringMVC(二)----架构原理

用户的请求首先发送给DispatcherServlet。DispatcherServlet把请求交给HandlerMapping(处理器映射器)。处理器映射器里面记录了url到请求方法的映射,使得根据一个url能找到一个方法。处理器映射器内部的结构像是个HashMap,key是@RequestMapping("/list")里面的字符串list,value就是方法对象。HandlerMapping返回处理器执行链。HandlerMapping里面包含很多的拦截器,拦截器拦住了就踢出去,没拦住,就继续执行,交回给DispatcherServlet。DispatcherServlet去找处理器适配器HandlerAdapter。HandlerAdapter会去适配不同形式的Handler,也就是我们的Controller。执行Controller之后返回ModelAndView,一路返回给DispatcherServlet。DispatcherServlet拿到ModelAndView之后会去找视图解析器ViewResolver。这里解释一个概念:视图--jsp, pdf, word, freemaker。视图解析器有很多个,最常用的就是解析jsp的,还有解析PDF的,解析word的。根据不同视图选择不同的视图解析器去解析。解析完了之后,返回一个view对象,交给DispatcherServlet。此时,DispatcherServlet中有了数据和解析好的页面,就可以进行渲染了。渲染就是把标签和数据组装一下生成html,然后返回给用户。

DispatcherServlet:负责所有组件的流转。springmvc中的三个组件:处理器映射器、处理器适配器、视图解析器。

HandlerMapping:指定url到请求方法的映射。就是根据url中的字符串找到Controller里面的方法。

HandlerAdapter:根据不同的Handler找到不同的处理器适配器去执行Handler。

ViewResolver:根据不同类型的视图去解析。

在开发过程中需要我们:写Handler,视图,