天天看點

Webx源碼研讀心得

        之前,一直對webx的印象是厚重,n多無厘頭的預設契約,是以不願過多接觸它的源碼。最近一段時間,建構在之上的應用安全問題頻出,于是花了一些時間,研究了其spring ext部分的源碼,雖說有spring源碼知識的基礎,不過研究webx的過程中,還是讓人受益匪淺,也慢慢改變了之前的一些看法。這裡我摘錄下自己研究源碼時懷揣着的疑問,感興趣的同學可以留言一同讨論,看看你的實作是不是更優?

1. webx中是如何做到諸如: http://www.springframework.org/schema/beans http://localhost:8080/schema/www.springframework.org/schema/beans/spring-beans.xsd 定位解析的,為什麼要這樣做?

2. webx中容器及其子容器的關系如何?如何做到的?有沒有共享beanpostprocessor?

3. webx中的module loader又是如何工作的?如何建構一個webx的contribution point?

4. webx中如何做到将request scope的對象包裝成singleton scope對象的,為什麼要這麼做?

5. webx中在安全方面做了哪些工作,基于json-rpc的擴充又是如何去做到全局字段xss過濾的?

6. webx中pipeline是如何做到異常攔截的,能和java ee中的此類機制共存嗎?

7. 我想在webx中暴漏一些rest服務,如何去擴充呢?

       倘若這些問題都能吃透,我想,webx中spring-ext部分,mvc部分也吃透了差不多了~