idea本地调式tomcat源码
前言
上篇文章中一直没搞定的tomcat源码调试终于搞明白了,p神的代码审计星球里竟然有,真的好b( ̄▽ ̄)d ,写一下过程,还有p神没提到的小坑
准备阶段
1.去官网下东西:https://tomcat.apache.org/download-80.cgi
下三个东西一会都用得上

2.idea新建项目,选择maven构建的

其它名字啥的随便填,如果你第一次搞,应该创建完和我一样

并没有index.jsp和web.xml等,这很正常不要急
排坑
配置tomcat启动

如果没找到tomcat记得点哪个30more

到这里网上教程一般都说直接进deployment添加artifacts,但是你会发现没有

这时点fix,在加号里添加一个web application:exploded

点击ok后回到deployment,你会看到这样

然后退出去点击run,不出意外的话,应该是这样

可以看到src目录是有了,但是有三个报错,浏览器并没有出现hello world
此时的问题可能是由于idea版本导致的,你并不一定遇到,如果你没出现问题,请直接看我下面的步骤。
我的解决办法是关闭项目重新打开

删除掉之前的artifacts,并且新添加一个,此时会出现from modules的选项,点击它,选择你的项目,此时才可正常运行


原因分析:我们最早创建的artifacts并没有挂载到项目上,也没有出现out的编译文件夹等内容,重启后识别到了调式项目,重新创建了正确的artifact
正式调试
在index.jsp中写入out.println,当然你们应该报错了。
这里可以从pom里添加,但是我们选择另一种方式,因为我们要调试tomcat源码

在此点击这个按钮,然后在lib里把tomcat-lib里的所有jar包加进去

此时就不报错了,如果报错请重启项目
然后我们移动到此处会显示它引用的jar

当然这个需要设置,在setting的这个位置,把它勾选上

此时下断点,debug模式启动

随便点一个流程,就能看到反编译代码了

完善debug
这样我们能看到的是class的反编译代码,不如直接看源码好,而且说不定会有丢失

我们回到lib添加的位置,加入之前我们下好的源码,这里注意是在右侧点+号

添加完后是这样的
此时我们可能会遇到一个报错,说反编译代码和源码配不上(我也不知道有啥影响,但是p神教了解决方案就加上吧)
此时我们继续添加一个包,deployer中juli这个jar包

之后报错就消失了
总结:p神的这篇文章真是帮了大忙,同时也让我更熟悉了idea各种依赖的模式配置位置,付费知识的一颗明星,只需199,良心中的良心。不说了继续去星球学java反序列化了。
idea本地调式tomcat源码的更多相关文章
- 将tomcat源码导入eclipse
前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题.因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务 ...
- Tomcat源码学习
Tomcat源码学习(一) 转自:http://carllgc.blog.ccidnet.com/blog-htm-do-showone-uid-4092-type-blog-itemid-26309 ...
- Tomcat源码分析——请求原理分析(上)
前言 谈起Tomcat的诞生,最早可以追溯到1995年.近20年来,Tomcat始终是使用最广泛的Web服务器,由于其使用Java语言开发,所以广为Java程序员所熟悉.很多人早期的J2EE项目,由程 ...
- Tomcat 源码分析(转)
本文转自:http://blog.csdn.net/haitao111313/article/category/1179996 Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件 ...
- Tomcat源码分析一:编译Tomcat源码
Tomcat源码分析一:编译Tomcat源码 1 内容介绍 在之前的<Servlet与Tomcat运行示例>一文中,给大家带来如何在Tomcat中部署Servlet应用的相关步骤,本文将就 ...
- [Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境
网上很多文章都推荐使用Ant下载编译,但本地实践中屡屡失败,无法下载. 后来参考 https://blog.csdn.net/xiongyouqiang/article/details/7894107 ...
- 【Tomcat 源码系列】源码构建 Tomcat
一,前言 这篇博客写于 12 月 12 日,从 github[1] 上 fork 了一份 tomcat 的源代码,clone 到了本地.最近想把 tomcat 的源代码分析一下,寒假的时候有完整的时间 ...
- svn工具安装下载Tomcat源码以及导入eclipse
安装 1.svn下载地址 https://tortoisesvn.net/downloads.html 2.语言包下载 3.先安装svn,在直接安装语言包 4.桌面右键可以看到相关svn信息 下载To ...
- Tomcat源码导入eclipse的步骤
Tomcat源码导入eclipse 一.下载源码 1. 进入Apache 官网:http://tomcat.apache.org/ 2. 在左边侧选择要下载的源码的版本. 3. 或者直接通过Ar ...
随机推荐
- HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器
HttpServer的特点1.完全采用IOCP模型,实现真正的异步IO,高并发.高可靠: 2.支持4G以上文件下载: 3.支持断点续传: 4.轻量级,体积小,服务器文件仅200多K,无任何依赖库: 5 ...
- Linux学习笔记:linux命令之目录处理命令
目录处理命令 ls 命令名称:ls 英文原意:list 执行权限:所有用户 功能:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a:显示所有文件,包括隐藏文件 -l:详细信息显示 -d ...
- ThreadLocal源码阅读笔记
功能描述 ThreadLocal解决了访问共享变量的阻塞问题,并且不需要像CAS操作一样牺牲CPU资源,它为每一个线程维护了一个变量副本,每个线程在访问ThrealLocal里面的变量时实际上访问的是 ...
- pytest命令行参数
1.-v:可以输出用例更加详细的执行信息,如下图 C:\Users\cale\checkapi\test_cc>pytest test_m1.py -v ==================== ...
- windows 7系统安装与配置Tomcat服务器环境
windows 7系统安装与配置Tomcat服务器环境 学习了一个月的java基础,终于要迈向java web领域.学习java web开发就离不开服务器的支持,由于本人是菜鸟,只好求助度娘谷哥.在此 ...
- 大白话带你认识JVM
如果在文中用词或者理解方面出现问题,欢迎指出.此文旨在提及和而不深究,但会尽量效率地把知识点都抛出来 一.JVM的基本介绍 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出 ...
- SpringCloud-OAuth2(三):进阶篇
上篇文章讲了SpringCloud OAuth 的实战篇,但是在微服务环境下,常常会有一个认证中心. 而普通服务接收到请求后,判断token是否有效并不是自己处理的,因为token的管理统一交给认证中 ...
- Maven的详细下载、安装及配置(亲测)
一.下载 官网下载地址:https://maven.apache.org/download.cgi 选择安装包进行下载,如图: 下载后,对压缩包进行解压 二.安装 确认电脑已安装好JDK 2.配置环境 ...
- Unity中各种查找物体的方法
本文转自博主:Teng的世界 https://blog.csdn.net/teng_ontheway/article/details/47188141 GameObject.Find().Transf ...
- 《机器学习Python实现_10_10_集成学习_xgboost_原理介绍及回归树的简单实现》
一.简介 xgboost在集成学习中占有重要的一席之位,通常在各大竞赛中作为杀器使用,同时它在工业落地上也很方便,目前针对大数据领域也有各种分布式实现版本,比如xgboost4j-spark,xgbo ...