springmvc
是什么?
springmvc
是
spring
的一个模块,提供
web
层解决方案(基于
mvc
设计架构)
使用springmvc的流程
第一步:用户发起
request
请求,请求至
DispatcherServlet
前端控制器
第二步:
DispatcherServlet
前端控制器请求
HandlerMapping
处理器映射器查找
Handler
DispatcherServlet
:前端控制器,相当于中央调度器,各各组件都和前端控制器进行交互,降低了各各组
件之间耦合度。
第三步:
HandlerMapping
处理器映射器,根据
url
及一些配置规则(
xml
配置、注解配置)查找
Handler
,将
Handler
返回给
DispatcherServlet
前端控制器
第四步:
DispatcherServlet
前端控制器调用适配器执行
Handler
,有了适配器通过适配器去扩展对不同
Handler
执行方式(比如:原始
servlet
开发,注解开发)
第五步:适配器执行
Handler
Handler
是后端控制器,当成模型。
第六步:
Handler
执行完成返回
ModelAndView
ModelAndView
:
springmvc
的一个对象,对
Model
和
view
进行封装。
第七步:适配器将
ModelAndView
返回给
DispatcherServlet
第八步:
DispatcherServlet
调用视图解析器进行视图解析,解析后生成
view
视图解析器根据逻辑视图名解析出真正的视图。
View
:
springmvc
视图封装对象,提供了很多
view
,
jsp
、
freemarker
、
pdf
、
excel
。。。
第九步:
ViewResolver
视图解析器给前端控制器返回
view
第十步:
DispatcherServlet
调用
view
的渲染视图的方法,将模型数据填充到
request
域 。
第十一步:
DispatcherServlet
向用户响应结果
(jsp
页面、
json
数据。。。。
)
DispatcherServlet
:前端控制器,由
springmvc
提供
HandlerMappting
:处理器映射器,由
springmvc
提供
HandlerAdapter
:处理器适配器,由
springmvc
提供
Handler
:处理器,需要程序员开发
ViewResolver
:视图解析器,由
springmvc
提供
View
:真正视图页面需要由程序编写