图一:
Spring
将请求在调度Servlet
、处理器映射(
handler mapping
)、控制器以及视图解析器(view resolver
)之间移动。
1、粗体蓝色的是必须程序员写、配置的
2、蓝色的时可以选择写的、配置的
3、黑色的是框架提供的
4、HandlerMapping:请求进来后,用于查找哪个Controller处理请求的
5、HandlerInerceptor:拦截器,比如before、after等
6、ViewResolver:用来决定返回那个View的
7、View:具体的页面
8、ModelAndView:MVC中的M,即模型实体
9、DispatcherServlet:请求”控制器“,实际项目中可以是多个,因为随着系统越来越复杂,需要提供的服务也越来越多,原本的系统需要支撑不同的服务场景,这时就通过使用不同的DispatcherServlet分发不同的请求可以更好的服务不同类型的请求。
图二: