簡化版的SpringMVC框架的實現思路


在SpringMVC基本統一Java web開發技術棧的環境下, 這是一個有點過時的話題了. SpringMVC的特點主要在於注解型的RequestMapping和參數機制非常靈活, 另外得益於Spring本身的bean控制, 可以很方便的在各個環境引入其他對象.

最近整理了一下幾年前的工作, 把項目的底層代碼剝出來. 這是一個類似於SpringMVC的底層框架, 數據端使用的是DBUtils, 適合小型的定制系統.

https://github.com/MiltonLai/mocha-web-framework .

其中核心部分是Dispatcher, 注冊在web filter上, 通過filter init初始化以下四部分:

全局對象池, 請求映射表, 視圖解析方式表, 還有攔截器表

在請求時, 亦根據方法的參數數量和類型自動填充輸入.

與SpringMVC不同的地方,

1. 可以直接通過在controller的類或方法上的RequestMapping注解定義結果的視圖類型, 不需要通過復雜的機制根據返回類型進行選擇.
2. 在基礎實現上就區分開輸入的數據和輸出的數據, 避免在后期通過攔截器的postHandle去清理敏感數據, 以防止被不恰當的視圖渲染對象輸出給用戶


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com