美文网首页
Tomcat学习笔记之环境搭建

Tomcat学习笔记之环境搭建

作者: 夏目手札 | 来源:发表于2019-05-07 21:48 被阅读0次

简单介绍

Tomcat是Apache 软件基金会(Apache Software Foundation)的一个项目,是开源的轻量级Web应用服务器,使用非常广泛,是开发和调试JSP 程序的首选。

环境搭建

  • 源码下载

    Tomcat9源码

  • maven配置

    在apache-tomcat-9.0.8-src目录下新建pom.xml文件,内容如下

<?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>cn.linxdcn</groupId>
    <artifactId>Tomcat9.0</artifactId>
    <name>Tomcat9</name>
    <version>9.0</version>

    <build>
        <finalName>Tomcat9</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.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.9.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-apache-log4j</artifactId>
            <version>1.9.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-commons-logging</artifactId>
            <version>1.9.5</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.rpc</groupId>
            <artifactId>javax.xml.rpc-api</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

也可以按照官网使用ant构建,但是个人比较懒,还是用maven比较方便。

  • 修改源码

    注意Tomcat9版本中有部分代码包含CompilerOptions.VERSION_9-11,如果机器不支持需要删除

  • 删除webapps

    为了方便跑起来,否则话需要修改很多

  • 导入IDEA,并配置启动

    导入IDEA,配置启动类Bootstrap,配置VMOption:-Dcatalina.home="${apache-tomcat-9.0.19-src}"

    这里 ${apache-tomcat-9.0.19-src} 为本地源码路径

  • 编译并运行

    maven成功编译后即可运行

目录结构

tomcat目录结构
  • conf文件夹

    catalina.policy:当Tomcat在安全模式下运行,此文件为默认的安全策略配置。

    catalina.properties:catalina环境变量配置。

    context.xml:用于定义所有Web应用均需要加载的Context配置,如果Web应用指定了自己的context.xml,那么该文件的配置会被覆盖。

    logging.properties:日志配置文件,可修改日志级别和日志路径等。

    server.xml:核心配置文件,用于配置链接器、监听端口、处理请求的虚拟主机等,tomcat根据该配置文件创建服务器实例,详细介绍参考下面。

    tomcat-users.xml:tomcat配置用户的文件,用于定义tomcat默认用户及角色映射信息,tomcat的manage模块使用该文件中定义的用户进行安全认证。

    web.xml:tomcat中所有应用默认的部署描述文件,主要定义了基础Servlet和MIME映射,tomcat会将默认部署描述与自定义配置进行合并

  • server.xml属性介绍

    server.xml属性
  • Server结构图

    Tomcat Server结构图
  • Tomcat顶层结构图

    Tomcat顶层结构图

Server是Tomcat的最顶层元素,是service的集合,即可包含多个service,Server控制整个Tomcat的生命周期。
Service由一个Container和多个Connector组成,形成一个独立完整的处理单元,对外提供服务。
Connector用于处理连接相关的事情,并提供Socket与request、response的转换。
Container用与封装和管理Servlet,以及具体处理request请求。Tomcat将Engine,Host,Context,Wrapper统一抽象成Container。

参考地址:

service.xml详解

其他相关简介

相关文章

网友评论

      本文标题:Tomcat学习笔记之环境搭建

      本文链接:https://www.haomeiwen.com/subject/qwvpgqtx.html