eclipse tomcat新建一个_Tomcat学习笔记(一) 导入源码运行

  • 搭建环境,先去tomcat官网下载源码

4023126b3fdadf60664a69865081a036.png

  1. 解压源码,在源码根目录下新建文件夹catalina-home,把conf和webapps文件夹剪切复制进去

  2. 打开idea 创建一个空项目(tomcat-study)

  3. 把整理好的tomcat源码文件复制到tomcat-study项目下

  4. 我们使用maven来构建tomcat项目,创建一个 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.0modelVersion>    <groupId>org.apache.tomcatgroupId>    <artifactId>Tomcat8.5artifactId>    <name>Tomcat8.5name>    <version>8.5version>     <build>        <finalName>Tomcat8.5finalName>        <sourceDirectory>javasourceDirectory>        <testSourceDirectory>testtestSourceDirectory>        <resources>            <resource>                <directory>javadirectory>            resource>        resources>        <testResources>           <testResource>                <directory>testdirectory>           testResource>        testResources>        <plugins>            <plugin>                <groupId>org.apache.maven.pluginsgroupId>                <artifactId>maven-compiler-pluginartifactId>                <version>2.3version>                <configuration>                    <encoding>UTF-8encoding>                    <source>1.8source>                    <target>1.8target>                configuration>            plugin>        plugins>    build>    <dependencies>        <dependency>            <groupId>junitgroupId>            <artifactId>junitartifactId>            <version>4.12version>            <scope>testscope>        dependency>        <dependency>            <groupId>org.easymockgroupId>            <artifactId>easymockartifactId>            <version>3.4version>        dependency>        <dependency>            <groupId>antgroupId>            <artifactId>antartifactId>            <version>1.7.0version>        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>
  • 在idea中导入项目

0a3f0b6bd28522cdc683fd0f66e7a6c9.png

给 tomcat 的源码程序启动类 Bootstrap 配置 VM 参数,因为 tomcat 源码运⾏也需要加载配置⽂件等

e6296036b78e29211cfe088587a59450.png

使用idea自动提示将问题修复后,重新启动main函数,并访问http://localhost:8080/,发现会有如下报错

ec5bbf2002f2e7509f17b4060900ba7b.png

原因是Jsp引擎Jasper没有被初始化,从⽽⽆法编译JSP,我们需要在tomcat的源码ContextConfig类中的configureStart⽅法中增加⼀⾏代码将 Jsp 引擎初始化context.addServletContainerInitializer(new JasperInitializer(),null);

修改后再次重启tomcat就可以正常访问啦

7c973ba0ede8057d2c866dacabdaaf91.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值