tomcat源码系列一(环境搭建)

前言

相信初学者一直对tomcat这个东西很好奇到底是个什么东西

来自维基百科的解释:

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对ServletJavaServer PageJSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。但是,不能将Tomcat和Apache HTTP服务器混淆,Apache HTTP服务器是用C语言实现的HTTPWeb服务器;这两个HTTP web server不是捆绑在一起的。Apache Tomcat包含了配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

从开始学习就知道是个java容器,可是它的作用究竟是什么呢?在项目工程中扮演的是什么角色?下面就来通过源码来学习下tomcat

Tomcat 源码系列一 (环境的搭建)

Tomcat源码系列二(部署项目)

准备工作

  1. 进入tomcat源码 官方地址
  2. 下载Source Code Distributions下面的zip文件
  3. 解压文件

导入编译

因为tomcat是使用的ant进行编译的,所以需要ant并配置环境

本文不采用这种方式,如果使用此方式的话可以参照Idea导入Tomcat源码

本文使用的是maven依赖ant jar包进行编译

  1. 首先在解压后的源码根目录下面增加pom.xml文件

    笔者的路径为/workspace/apache-tomcat-7.0.91-src

  2. 编辑pom.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>Tomcat7.0</artifactId>
    <name>Tomcat7.0 src</name>
    <version>7.0</version>

    <build>
    <finalName>Tomcat7.0</finalName>
    <sourceDirectory>java</sourceDirectory>
    <resources>
    <resource>
    <directory>java</directory>
    </resource>
    </resources>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3</version>
    <configuration>
    <encoding>UTF-8</encoding>
    <source>1.6</source>
    <target>1.6</target>
    </configuration>
    </plugin>
    </plugins>
    </build>

    <dependencies>
    <dependency>
    <groupId>ant</groupId>
    <artifactId>ant</artifactId>
    <version>1.7.0</version>
    </dependency>
    <dependency>
    <groupId>ant</groupId>
    <artifactId>ant-apache-log4j</artifactId>
    <version>1.6.5</version>
    </dependency>
    <dependency>
    <groupId>ant</groupId>
    <artifactId>ant-commons-logging</artifactId>
    <version>1.6.5</version>
    </dependency>
    <dependency>
    <groupId>wsdl4j</groupId>
    <artifactId>wsdl4j</artifactId>
    <version>1.6.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
    <dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jaxrpc-api</artifactId>
    <version>1.1</version>
    </dependency>
    <dependency>
    <groupId>org.eclipse.jdt.core.compiler</groupId>
    <artifactId>ecj</artifactId>
    <version>4.4</version>
    </dependency>
    </dependencies>
    </project>
  3. 打开idea 点击右边侧边栏[maven project] 点击+号 选中新建的pom.xml文件 稍等一会

  4. 至此就已经把tomcat源码导入进入了idea中

测试

  1. 进入org.apache.catalina.startup
  2. 运行mian方法 进入编译 运行
  3. 看到控制台有对应的输出即表示导入编译成功
lemon wechat
欢迎大家关注我的订阅号 SeeMoonUp
写的不错?鼓励一下?不差钱?