精华内容
下载资源
问答
  • Tomcat源码篇-构建源码编译环境
    千次阅读
    2022-02-22 21:33:53

    image.png

    Tomcat源码环境构建

      工欲善其事必先利其器,为了学好Tomcat源码,我们需要先在本地构建一个Tomcat的运行环境。

    1.源码环境下载

    源码有两种下载方式:

    1.1 官网下载

    https://tomcat.apache.org/

    image.png

    image.png

    1.2 GitHub下载

    当然你也可以通过GitHub来拉取源代码

    https://github.com/apache/tomcat

    image.png

    2.Maven环境搭建

    2.1 环境准备

    打开IEDA导入项目,然后在项目中创建一个新的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>org.apache.tomcat</groupId>
      <artifactId>apache-tomcat</artifactId>
      <version>8.5</version>
    
      <dependencies>
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.10.4</version>
        </dependency>
        <dependency>
          <groupId>wsdl4j</groupId>
          <artifactId>wsdl4j</artifactId>
          <version>1.6.2</version>
        </dependency>
        <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.5.1</version>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.13</version>
        </dependency>
      </dependencies>
    
      <build>
        <finalName>apache-tomcat</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>3.8.1</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <encoding>UTF-8</encoding>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </project>
    

    然后设置项目为Maven项目,选中pom.xml文件,鼠标右点。选择 Add as Maven Project .

    image.png

    在右侧出现的Maven菜单中选择编译项目(compile)

    image.png

    2.2 项目启动

    编译成功后进入 Bootstrap中,启动main方法

    image.png

    出现如下提示,说明启动成功,只是中文乱码了

    image.png

    2.3 解决中文乱码问题

    中文乱码问题的解决方案,修改两处地方即可

    1.修改org.apache.jasper.compiler.Localizer#getMessage(java.lang.String)方法

    image.png

        public static String getMessage(String errCode) {
            String errMsg = errCode;
            try {
                if (bundle != null) {
                    errMsg = bundle.getString(errCode);
                }
            } catch (MissingResourceException e) {
            }
            try{
                errMsg = new String(errMsg.getBytes("ISO-8859-1"),"UTF-8");
            }catch (UnsupportedEncodingException e){
                e.printStackTrace();
            }
            return errMsg;
        }
    

    2.修改org.apache.tomcat.util.res.StringManager#getString(java.lang.String)

    image.png

    重启服务

    image.png

    启动正常,但是访问的时候出现了问题

    2.4 解决不支持JSP的问题

    启动成功后,在访问首页的时候,出现了500错误,而且提示无法为JSP编译类

    image.png

    原因是无法编译jsp。解决也很简单,按照下面步骤操作即可

    上面的报错解决方式,可以在org.apache.catalina.startup.ContextConfig类中的configureStart方法中,添加一下JSP解析器初始化即可

    context.addServletContainerInitializer(new JasperInitializer(), null);
    

    image.png

    重启服务:访问搞定

    image.png

    到此Tomcat的源码环境我们就已经准备好了,接下来就可以开始我们的Tomcat源码之旅了!!!

    更多相关内容
  • tomcat源码

    2018-11-09 15:59:36
    此文件给我自己带来了很大的帮助,希望能帮助迷茫的你,让你的小船走的更加遥远,加油吧 代码君
  • Tomcat源码分析

    2021-02-03 06:52:24
    总体架构:1、面向组件架构2、基于JMX3、事件侦听tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也...
  • 这个是一个Tomcat源码,喜欢代码分析的课可以参考这个源码进行学习,网上有很多的源码导入方式,可以参考网上的源码导入方式来进行Tomcat源码学习
  • 1.tomcat源码文件 2.tomcat程序文件 3.Ant程序文件 4.tomcat源码在eclipse运行,重新编译,重新打包步骤文件 5.一个tomcat源码在eclipse上运行的java工程 作用: 1.用于学习tomcat源码和了解tomcat运行机制 2.学习...
  • tomcat源码编译

    2017-07-31 21:07:49
    可以直接运行的Tomcat源码编译项目
  • Tomcat源码

    2015-08-09 11:36:56
    Tomcat源码,官方下载,可以使用,绝对没问题 ,请放心下载
  • tomcat源码.zip

    2020-08-08 20:36:15
    作者将tomcat安装版的class文件逐个反编译并整合,最后打包还原成tomcat源码形式。非常适合tomcat初学者仔细钻研,读懂tomcat运行机制,从读懂源码开始。
  • tomcat源码解析

    2019-01-20 17:22:41
    tomcat源码解析
  • tomcat源码

    2016-02-05 10:29:30
    tomcat源码
  • tomcat源码解析资料,加上tomcat的pdf解析中文版的,tomcat源码。 挺不错的资源,大家可以学习下。
  • IDEA版tomcat源码搭建 ,完全原创,希望对你有帮助
  • Tomcat源码阅读(一)使用Idea运行Tomcat6源码
  • tomcat 源码导入eclipse

    2019-04-08 01:15:09
    NULL 博文链接:https://naouguhtaeyeti.iteye.com/blog/1596775
  • 深入剖析Tomcat 书籍源码 Tomcat源码 Tomcat Tomcat Tomcat Tomcat
  • Tomcat源码剖析」.pdf

    2020-06-01 23:10:55
    Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑...
  • Tomcat源码所需要jar包

    2017-06-28 20:52:12
    包含 ant.jar,jaxrpc,org.eclipse.jdt.core_3.9.2,wsdl4j-1.5.1
  • tomcat源码学习

    2018-08-03 12:36:37
    tomcat源码学习,可以结合深入剖析tomcat来学习,感觉这本书挺好的,值得深入
  • Tomcat源码解析.pdf

    2020-03-09 19:11:55
    Tomcat源码解析.pdf
  • NULL 博文链接:https://pirate4444.iteye.com/blog/2076706
  • Tomcat源码研究.pdf

    2018-09-01 14:38:02
    Tomcat源码研究.pdf。Catalina脚本解析,Tomcat启动遇到的常见问题,架构探讨,JMX在tomcat中的应用,容器初探,生命周期

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 142,238
精华内容 56,895
关键字:

tomcat源码

友情链接: U8开发之UAP报表.rar