一、发起请求到前端控制器(DispatcherServlet)
二、前端控制器处理请求HandlerMapping查找Handler
可以根据xml配置、注解进行查找
三、处理器映射器HandlerMapping向前端返回Handler
四、前端控制器调用处理器适配器执行Handler
五、处理器适配器执行Handler
六、处理器适配器向前端控制器返回ModelAndView(包括Model和View)
七、前端控制器请求视图解析器去进行视图解析
根据逻辑视图名解析成真正的视图,(jsp)
八、视图解析器向前端控制器返回View
九、前端控制器进行视图渲染,
(视图渲染将模型数据填充到Request中)
十、前端控制器向用户响应结果
组件:
1、前端控制器DispatcherServlet
作用:接收请求,相应结果,相当于转发器,中央处理器
减少了其他组件之间的耦合度,不需要开发,
功能列表:
-
使用基于xml的配置文件,可以编辑,而无法重新编译应用程序。
-
实例化控制器,并根据用户输入来构造bean
-
绑定用户数据类型,比如自动解析字符等,可以校验用户的输入,不通过时则重新定向输入表单,支持编程及声明方式。
-
可以利用spring提供的其他能力。
-
支持国际化和本地化,支持根据用户显示多国语言。
-
支持视图技术,jsp、Veloctiy、FreeMarker等。
2、处理器映射器HandlerMapping
作用:根据请求url查找Handler,不需要开发
3、处理器适配器HandlerAdapeter
作用:按照特定规则执行Handler。注意:编写Handler时按照适配器的要求做。、
4、处理器Handler: 需要开发
5、视图解析器 ViewResolver
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view),若不是逻辑视图,则直 接返回结果。不需要开发
6、视图view 需要开发jsp
view是一个接口,实现类支持不同的View类型(jsp,freemarker,pdf...)