一、Spring MVC执行过程解析
老规矩,开局一张图再开始吹牛皮~
(1)前端控制器DispatcherServlet
提供者:Spring框架提供
作用:接收请求,处理响应结果
(2)处理器映射器HandlerMapping
提供者:Spring框架提供
作用:根据请求URL,找到对应的Handler
(3)处理器适配器HandlerAdapter
提供者:Spring框架提供
作用:调用处理器(Handler|Controller)的方法
(4)拦截器HandlerInterceptor
提供者:Spring框架提供接口,具体的自定义拦截器由程序员编写
作用:拦截请求,做业务校验和处理
PS:拦截器的具体实现可以看我的文章《Java Web学习(九)Java拦截器》
(5)处理器Handler【Controller】
提供者:程序员编写
作用:接收用户请求数据,调用业务方法处理请求
PS:Controller注入Service服务时,需要注意循环依赖的问题:
(6)视图解析器ViewResolver
提供者:Spring框架提供
作用:视图解析,把逻辑视图名称解析成真正的物理视图
支持多种视图技术:Velocity,FreeMarker,thymeleaf等等
(7)视图View
提供者:程序员编写
作用:将数据展现给用户