前面我们特地介绍了Servlet:https://blog.nowcoder.net/n/3569f83608124d908ea86d13e809925b
那么有个很大的疑问,就是Spring MVC是如何逐步简化Servlet的编程的?   可参考:https://www.cnblogs.com/winterfells/p/8476759.html

首先附上MVC概念教程:https://www.imooc.com/learn/47,概念解释目前先不写,教程里有。




Spring工作流程描述

1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
2. DispatcherServlet【只用到这一个Servlet】对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所关的
3.Handler是Controller的表现形式,通过它来使用Controller
4.(解决视图层)


关于Spring的线程安全:

Spring中Colltroller、DAO和Service默认都是以单实例的bean形式存在,Spring通过ThreadLocal类将有状态的变量(例如数据库连接Connection,前端传到后端的对象)本地线程化,从而做到多线程状况下的安全。在一次请求响应的处理线程中, 该线程贯通展示、服务、数据持久化三层,通过ThreadLocal使得所有关联的对象引用到的都是同一个变量。


参考:
https://www.imooc.com/learn/47【慕课网springMVC教程】