Tomcat 源码(一)
tomcat 作为我们常用的Web服务器,我们是一直处于使用的状态,对其内部的代码实现还是了解的比较少。
那么我觉得吧学习一门技术得知道这个技术实现的方式,了解它的实现方式最好的方式还是研究它的源代码,下面就是开始学习tomcat的第一步 ,使用IDEA构建tomcat的源码运行
1.源码下载
下载地址:https://tomcat.apache.org/download-80.cgi 可以选着不同的版本来测试
注意:两个文件夹对应得版本最好要保持一致
上面的那个是二进制的jar 包
下面的那个是tomcat的源码
2.解压文件包
二进制压缩包解压后
源码压缩包解压后
3.本地创建tomcat 项目
项目地址 E:\Resource\MyTomcat
项目的文件结构如下
4. 复制 conf 和webapps
复制 解压后的conf 和webapps 到 和 E:\Resource\MyTomcat(两个解压后的文件夹里面的都可以);也就是和项目src 平级(后续源代码里面可以看到 是从 ConfigFileLoader类中 是从CATALINA_BASE_FILE 路径下面获取 CATALINA_BASE_FILE 就是 E:\Resource\MyTomcat)
复制后:
5. java 和 mudules
复制 源代码解压后的文件夹 java 和 mudules 到 项目的src/main 下面 这个是tomcat 的源代码
6.复制 lib 到
复制 tomcat 二进制文件夹 lib 到 E:\Resource\MyTomcat 下 这个是tomcat 运行的一些其他依赖的包
7.添加pom.xml依赖
tomcat 运行依赖于一些其他的jar 没有的话会报错
<dependencies>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.5.1</version>
</dependency>
</dependencies>
8.添加lib 包到依赖项
- 运行Bootstrap 访问localhost:8080
总结 到此tomcat 源码搭建过程到此完毕 ,我本地搭建的代码已经上传到git
https://github.com/shengfangfang/iTomcat.git
注意: 拉代码的第8步不要忘记了