• Tomcat - 源码阅读环境搭建


    概述

    TomcatJava web开发 中应用最广泛的 Servlet 服务器,也是 SpringBoot 中默认的嵌入式 servlet 服务器,所以在学习 SpringBoot 之前,有必要先了解一下 tomcat,接下来我们就搭建一下 tomcat源码阅读环境

    搭建步骤

    我司常用的 SpringBoot 版本中内嵌的 Tomcat9.x 版本的,所以这篇文章中就以 9.x 版本为例

    1、下载源码包

    首先在 Tomcat 9 下载页面 选择源码包下载:

    在这里插入图片描述

    下载完成,解压之后,在 Idea 中打开项目

    在这里插入图片描述

    接着配置 SDK 信息:

    在这里插入图片描述

    2、配置 pom.xml

    
    <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.0modelVersion>
      <groupId>org.apache.tomcatgroupId>
      <artifactId>tomcatartifactId>
      <version>9.0.65version>
      <name>tomcat-9.0.65name>
    
      <build>
        <finalName>tomcat-9.0.65finalName>
        <sourceDirectory>javasourceDirectory>
        <resources>
          <resource>
            <directory>javadirectory>
          resource>
        resources>
        <testResources>
          <testResource>
            <directory>testdirectory>
          testResource>
        testResources>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.pluginsgroupId>
            <artifactId>maven-compiler-pluginartifactId>
            <version>3.10.1version>
            <configuration>
              <encoding>UTF-8encoding>
              <source>1.8source>
              <target>1.8target>
            configuration>
          plugin>
        plugins>
      build>
    
      <dependencies>
        
        <dependency>
          <groupId>org.apache.antgroupId>
          <artifactId>antartifactId>
          <version>1.10.12version>
        dependency>
    
        <dependency>
          <groupId>biz.aQute.bndgroupId>
          <artifactId>biz.aQute.bndlibartifactId>
          <version>6.3.1version>
          <scope>providedscope>
        dependency>
        <dependency>
          <groupId>org.apache.tomcatgroupId>
          <artifactId>tomcat-jasperartifactId>
          <version>9.0.65version>
        dependency>
    
        
        <dependency>
          <groupId>wsdl4jgroupId>
          <artifactId>wsdl4jartifactId>
          <version>1.6.2version>
        dependency>
    
        
        <dependency>
          <groupId>javax.xmlgroupId>
          <artifactId>jaxrpcartifactId>
          <version>1.1version>
        dependency>
    
        
        <dependency>
          <groupId>org.eclipse.jdt.core.compilergroupId>
          <artifactId>ecjartifactId>
          <version>4.5.1version>
        dependency>
      dependencies>
    project>
    
    • 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
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80

    3、配置启动类

    Tomcat 的二进制包中,我们启动 Tomcat 需要在 bin 包下使用 startup.bat/sh 来启动项目,而在 startup.bat/sh 中又指定了 catalina.bat/sh 为可执行文件:

    在这里插入图片描述

    而在 catalina.bat/sh 中,又指定了主类为:org.apache.catalina.startup.Bootstrap

    在这里插入图片描述

    知道了上面的信息,接下来我们就在 Idea 中配置启动应用,并启动项目:

    在这里插入图片描述

    配置主类 org.apache.catalina.startup.Bootstrap

    在这里插入图片描述

    此时编译项目,会提示哪些包不存在,便可以据此添加上面 pom.xml 中定义的 jar

    配置完成之后,启动项目,在控制台中即可看到启动日志:

    在这里插入图片描述

    3、配置编码格式

    经过前面的配置,Tomcat 已经启动,但是还是存在乱码问题,需要我们配置一些启动参数:

    在这里插入图片描述

    配置参数:

    -Duser.language=en
    -Duser.region=US
    -Dfile.encoding=UTF-8
    -Dsun.jnu.encoding=UTF-8
    
    • 1
    • 2
    • 3
    • 4

    配置完成后启动项目,可以看到控制台打印已经正常了:

    在这里插入图片描述

    访问 http://localhost:8080 就可以看到 Tomcat 的默认页面:

    在这里插入图片描述

  • 相关阅读:
    STM32单片机语音识别MP3播放器音乐播放器TF卡播放器
    c++ c语言学习之 取反 ~
    根据中序与后序遍历结果构造二叉树
    安全协议内涵
    PostgreSQL教程(二十九):服务器管理(十一)之高可用、负载均衡和复制
    Python数据可视化案例
    如果一个人很想你,却又不敢打扰你,会暴露三个痕迹
    2022-08-10 第四小组 修身课 学习笔记(every day)
    java juc面试题一般问什么?juc面试分析
    乐财业:打造财税服务的“硬核“竞争力
  • 原文地址:https://blog.csdn.net/qiaohao0206/article/details/126096857