SpringMVC在三层结构中的位置
小案例流程:
SpringMVC的请求响应流程
SpringMVC框架基于组件的方式执行流程。
SpringMVC中的组件
1、DispatcherServlet:前端控制器
用户请求到达前端控制器,就相当于MVC模式中的C,dispatcherServlet是整个流程控制的中心,由它调用其他组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。
2、HandlerMapping:处理器映射器
HandlerMapping负责根据用户请求找到Handler即处理器,SpringMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等等。
3、Handler:处理器
它就是我们开发中要编写的具体业务控制器,由DispatcherServlet把用户请求转发到Handler。由Handler对具体的用户请求进行处理
4、HandlerAdapter:处理器适配器
通过HandlerAdapter对处理器进行执行,这是适配器的模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
5、View Resolver:视图解析器
View Resolver负责将处理结果生成view视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户
6、View:视图
SpringMVC框架提供了很多的View视图类型的支持,我们最常用的视图就是jsp
7、<mvc:annotation-driven></mvc:annotation-driven>说明
在SpringMAV的各个组件中,处理器映射器、处理器适配器、视图解析器称为SpringMVC的三大组件
使用<mvc:annotation-driven></mvc:annotation-driven>自动加载RequestMappingHandlerMapping(处理器映射器)和RequestMappingHandlerAdapter(处理器适配器),可用在SpringMVC.xml配置文件中使用<mvc:annotation-driven>替代注解处理器和适配器的配置。