SpringMVC是在单线程模型还是多线程模型上工作?

Oom*_*ity 4 java servlets spring-mvc

我对单线程模型和多线程模型感到困惑.什么类型的模型SpringMVC的工作原理?

谢谢

Dav*_*veH 8

如果你的意思是"Spring MVC是否实现了javax.servlet.SingleThreadModel接口?" 然后它没有.

SingleThreadModel保证"servlet一次只处理一个请求".(来自API文档).这通常由servlet容器管理,该容器将维护一个Servlet实例池并为每个传入请求分配一个.这是一种很少使用的执行模型,从Java Servlet API 2.4开始,该接口本身已被弃用,没有直接替换.

使用Spring MVC,您应该假设您的控制器一次只能处理多个请求,这使您有责任确保您的处理是线程安全的.


Gre*_*eek 7

SpringMVC控制器是单例,并为并发请求提供服务.它们以多线程方式使用,因此必须编写为线程安全(执行之间没有共享状态).