- 服務器啓動時候【listener配置】
i.加載配置文件、掃描包(讀取bean的配置信息)
ii.獲取到完全限定名
iii.利用反射創建對象
iv.以註解值爲鍵,以創建的對象爲值,保存到Map集合中
v.將這個Map集合保存到ServletContext作用域中 - 請求訪問的時候【所有請求都來到一箇中央控制器中,再進行統一分發】
i.解析到請求地址中的uri
ii.解析Map集合中所有保存的對象的註解,來進行匹配,如果沒匹配到就拋出異常
iii.再解析類中的所有方法的註解,再與uri進行匹配,如果又沒匹配到就拋出異常
找到相應的對象,以及方法,再通過反射去執行該對象的該方法,並且將請求和響應對象傳過去。
有沒有自己研發過類似SpringMVC的小框架?說一下思路
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
【面經筆記】好未來 - 已掛
xiaxzhou
2020-07-08 11:22:52
【算法題】兩有序數組中位數
xiaxzhou
2020-07-08 11:22:52
面試準備之volatitle的理解
wangbiao007
2020-07-08 09:19:19
strcpy(),memcpy(),memmove(),memset(),strcmp(),strstr()的實現
long504377009
2020-07-08 05:36:48
在一個字符串中刪除指定的字符 & 刪除字符串中所有出現在另一個字符數組中的字符
long504377009
2020-07-08 05:36:48
遞歸:從尾到頭輸出鏈表& 從尾到頭輸出一個字符串 & 定義一個函數求字符串的長度,要求該函數體內不能聲明任何變量
long504377009
2020-07-08 05:36:48
二維坦克大戰遊戲代碼開發
aFakeProgramer
2020-07-08 02:43:30
(C++)合併排序的數組
菜鸡亮亮
2020-07-08 01:05:42
LeetCode刷題記錄 Z字型變換
下面是我在LeetCode中看到的題目,然後自己寫的解決方法 /** * Z字型變化 * 原字符串“LEETCODEISHIRING” * after-> * L C I
w366549434
2020-07-08 00:22:29
LeetCode解題記錄之隊列最大值
w366549434
2020-07-08 00:22:27
如何設置高性能定時器
经验之谈
2020-07-07 21:50:17
# 02|面試題筆記系列
蓝本本
2020-07-07 20:47:50