Spring MVC执行流程的简单理解

Spring MVC的架构图:
Spring MVC执行流程的简单理解
Spring MVC理解:
1.前端发送请求到前端控制器。

前端控制器实际上是一个servlet,servlet是随着tomcat等容器而启动的,初始化过程为:
① Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
② 装载并创建该Servlet的一个实例对象。
③ 调用Servlet实例对象的init()方法。
④ 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤ WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
Tomcat在加载Web应用时,就会把相应的web.xml文件中的数据读入到内存中。因此当Tomcat需要参考web.xml文件时,实际上只需要从内存中读取相关数据就可以了,无需再到文件系统中读取web.xml。

2.前端控制器通过映射处理器(HandlerMapping),扫描到所有带有@RequestMapping注解的对象和方法,并返回给前端控制器。

3.前端控制器通过适配处理器(Handler)与传入的URL匹配到对应的方法,调用该方法,返回数据到前端控制器。

4.前端控制器进行解析以及返回。