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

Posted 10000miles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个servlet server,由移植自Tomcat的连接器模块和自编写的container模块代码组成相关的知识,希望对你有一定的参考价值。

  • 背景

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

  • 程序结构

 

以上是关于一个servlet server,由移植自Tomcat的连接器模块和自编写的container模块代码组成的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse JSP/Servlet 环境搭建

Servlet快速入门:第一个Servlet程序

基于servlet网络编程

Servlet+JSP 原理

tomcat和jvm的关系

java web 学习笔记 - servlet01