SpringMVC原理的簡單理解


springmvc 主要功能由核心控制器,也就是DispatcherServlet來完成。

核心控制器在服務器啟動的時候便初始化,在初始化過程中,讀取springmvc.xml文件。

在springmvc.xml中定義了<context:component-scan base-package="com.zhg"></context:component-scan>,這里定義了業務處理器所在的包。核心控制器會掃描包下所有的類,找到那些帶有
@Controller注解的類。 然后會讀取帶有@Controller注解類中的帶有@RequestMapping的方法,

這些都是通過反射來完成。

RequestMapping中定義了路徑,核心控制器會通過一個hash結構,將路徑當做鍵,值是某個類中的某個方法保存起來。

當有請求訪問某一個業務處理器的時候,會首先通過核心控制器,在這里可以獲得當前請求的路徑,根據路徑(鍵),去hash中尋找對應的方法。

如果根據鍵沒有找到對應值則會返回404狀態碼,如果找到了值,就會通過反射執行值中的方法。

 

一切的框架都可以用反射來解釋

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM