一个servlet server,由移植自Tomcat的连接器模块和自编写的container模块代码组成

  • 背景

  Tomcat通过启动连接器之前给连接器填充container容器实现了解耦(静态关系),本篇的连接器完全使用Tomcat的源代码org.apache.catalina中的通用接口。org.apache.catalina.connector包,而container相关代码自编写,并且作者利用java特性巧妙去复用了org.apache.catalina包中的接口(因为我们也要依据定义来)。container容器除了invoke动态加载servlet还做了哪些工作当前还一无所知,要想获得信息只有让子程序继续执行。值得注意的是,从始至终都没有静态地去分析类的层次关系、定义,也没有逐一的去阅读目标类的每一个函数,这是因为静态层次无非是接口、抽象 类再到实现类这样的模版复用方式;某个类中的方法也无非是“一类”函数(过程)被编写到一个类文件,共享“同类”数据而已。这些通过源码的包结构和类声明就完全可以 知道答案。 程序分析的主要切入点还是,运行了那些方法,类中那些方法还没被执行过,将在哪里被执行(和阅读JDK源码不同,它是有主程序)! 

  • 程序结构

猜你喜欢

转载自www.cnblogs.com/10000miles/p/9240080.html