1.1 Spring MVC基本概念
- DispatcherServlet
前端控制器,前端用户的request请求通过DispatcherServlet分发给各个控制器来生成业务数据Model,再通过DispatcherServlet传递给View完成最终的页面呈现。可以说Spring MVC将数据业务逻辑和页面呈现分离是通过DispatcherServlet完成的。 - HandlerAdapter
Handler是DispatvherServlet内部使用的一个类,是DispatcherServlet调用Controller的一个中间过渡对象,可以看做是controller的一种表现形式,在Spring MVC中,通过各种annotation来识别Controller,但是Spring MVC中没有类似于接口的controller或者interface来找到controller,最终controller以handler形式出现。
HandlerAdapter是适配器模式,将各种不同类型的handler适配成DispatcherServlet
可以使用的handler,DispatcherServlet就可以很轻松的调用controller。 - HandlerInterceptor
拦截器,在被拦截对象的前后添加操作,这个接口有三种方法,preHandle,postHandle,afterCpmpletion。 - HandlerMapping
Mapping就是DispatcherServlet和Controller之间映射关系的一种类,负责告诉DispatcherServlet在一个请求到来之后由哪一个Controller来响应本次请求。
在HandlerMapping工作完毕之后,会给DispatcherServlet返回一个HandlerAdapter,其中包括的内容一方面是某一个Controller具体的实例,另一方面是Controller被包裹的HnadlerInterceptor,构成了一个执行的链条HandlerExecutionChain往下走。 - HandlerExecutionChain
- ModelAndView
无论是Model还是Map,最终在DispatcherServlet中都会转换成ModelAndView,所以可以把ModelAndView看作Model的具体表现。 - ViewResolver
视图解析器,通过配置找出要呈现的视图,例如jsp,jstl。 - View
负责呈现页面。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。