之前,一直对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部分也吃透了差不多了~