1. Controller不是Servlet

DispatcherServler是Spring MVC中的唯一Servlet,(这点可通过查看FrameworkServlet的子类确认)
Servlet容器(Tomcat)把所有请求都转发到DispatcherServler
然后通过HandlerMapping把请求路由到具体的Controller中。
因此,Controller只是一个普通的JavaBean
官网文档对@Controller注解的解释

The @Controller annotation indicates that a particular class serves the role of a controller. Spring does not require you to extend any controller base class or reference the Servlet API. 
However, you can still reference Servlet-specific features if you need to.

2. DispatcherServlet由谁创建

DispatcherServler的生命周期与普通的Servlet一样都是由Servlet容器管理,在第一次访问时创建,在容器关闭时销毁。
显而易见的,DispatcherServler 实例在Servlet容器中,而不是Spring自己的IoC容器中。

Spring MVC中的Controller是Serlvet吗?

相关文章:

  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-05-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-27
  • 2021-06-27
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案