1. 程式人生 > >Spring MVC中的Controller是Serlvet嗎?

Spring MVC中的Controller是Serlvet嗎?

src png hand 圖片 javabean image info 創建 bean

1. Controller不是Servlet

DispatcherServler是Spring MVC中的唯一Servlet,(這點可通過查看FrameworkServlet的子類確認)
Servlet容器(Tomcat)把所有請求都轉發到DispatcherServler
然後通過HandlerMapping把請求路由到具體的Controller中。
因此,Controller只是一個普通的JavaBean,

2. DispatcherServlet由誰創建

DispatcherServler的生命周期與普通的Servlet一樣都是由Servlet容器管理,在第一次訪問時創建,在容器關閉時銷毀。

顯而易見的,DispatcherServler 實例在Servlet容器中,而不是Spring自己的IoC容器中。

技術分享圖片

Spring MVC中的Controller是Serlvet嗎?