深入分析Spring源码,我们知道Spring框架包括大致六大模块, 如Web模块,数据库访问技术模块,面向切面模块,基础设施模块,核心容器模块和测试模块。
其中,在Spring框架的Web模块中,又包含很多前端技术,如SpringMVC,Spring WebSocket,Spring WebPortlet等,在本篇文章中,我们主要分析SpringMVC模块。
一、 Spring核心模块
Spring核心模块:数据库访问技术与集成,Web与远程调用技术,面向切面编程,基础设施,Spring核心容器,测试。
其中SpringMVC模块位于Spring框架的Web模块部分。
二、SpringMVC执行原理
下图为SpringMVC的一个较完整的流程图
简要分析执行流程。
1、DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。
我们假设请求的url为:
http://localhost:9999/SpringMVC/input-product
如上url拆分成三部分:
http://localhost:9999 服务器域名
SpringMVC部署在服务器(http://localhost:9999)上的web站点
input-product表示控制器
通过分析,如上url表示为:请求位于服务器localhost:9999上的SpringMVC站点的input-product控制器。
2、HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerM