---恢复内容开始---
一、Spring MVC的特点
Spring MVC框架是围绕DispatcherServlet这个核心展开的。核心控制器的作用就是截获请求,并将其分发到相应的业务控制器中,由业务控制器调用业务处理方法处理业务逻辑,返回一个模型和视图对象,核心控制器再根据此对象找到视图显示出处理结果。
Spring MVC请求处理流程如下:
二、Spirng MVC中的组件
1、核心控制器
Spring MVC的核心控制器就是DispatcherServlet,它负责接收HTTP请求,并组织协调Spring MVC的各组件共同完成处理请求的工作。此外,核心控制器还有一项重要的工作,就是加载配置文件初始化上下文应用对象ApplicationContext。
核心控制器主要负责拦截用户请求,将请求封闭成对象数据并创建ApplicationContext与Spring MVC各个组件,并将它们装配到DispatcherServlet的实例中。
2、业务控制器
Spring MVC中的业务控制器分为很多种,核心控制器会根据不同的业务请求调用不同的业务控制器,所有的业务控制器都必须实现Controller接口。
3、控制器映射
控制器映射又称为处理器映射,它是一种映射策略,Spring MVC中内置了一下多种控制器映射策略。
SimpleUrlHandlerMapping:URL映射控制器
BeanNameUrlHandlerMapping:文件名映射控制器
ControllerClassNameHandlerMapping:短类名控制器
4、模型与视图
Spring MVC没有提供专门的模型组件,Spring的模型对象由普通的map对象来充当。大部分的业务控制器都会返回一个ModelAndView对象,用来负责传递模型层处理后的结果集与指定的视图层名称。
5、视图解析器
Spring支持多种格式的视图,如JSP、JSTL、Excel和PDF等。大部分控制器都会返回一个ModelAndView对象,该对象里仅有一个视图的逻辑名称,这个名称并没有与指定的视图关联,它们的关联操作就是通过视图解析器来完成的。通过视图解析器就可以在不同的视图技术之间自由切换。
6、Command对象
Command对象就是普通的Java对象,用于封装用户请求中的参数。该对象属于控制器,由核心控制器创建,并与请求一起转发到业务控制器中。
---恢复内容结束---