tomcat学习|通过tomcat源码启动web项目

https://www.bilibili.com/video/BV1oy4y1H7R6?from=search&seid=14990012540407812359&spm_id_from=333.337.0.0

学习背景

上一波,我们学习了tomcat 中主要接口的方法及关系: https://www.lixiang.red/articles/2019/08/12/1565622240937.html 实际上源码只通过看,也差不多只能看到这个地步了,后面就一直看的话,就很容易乱,有句话说:实践出真知 今天我们就一起通过tomcat源码,来启动我们日常的web应用,在中间,可以debug , 可以更好的看到整个过程

准备web应用

可以在https://start.spring.io/ 去快速生成一个web应用

然后生成项目,可得到如下目录结构:

我们用ide打开,去添加一个controller ,并打成war包备用

然后把war包丢到tomcat的webapp目录下面

tomcat的配置

导入jar包到idea中

ant相关的配置可参考这篇文章 https://www.lixiang.red/articles/2019/08/04/1564907616303.html 执行deploy命令之后,我们可以在tomcat-build-libs 目录中看到拉下的jar包

然后把这些包导入到idea中 先打开工程设置面板

点击添加jar包的按钮

找到对应tomcat-build-libs 目录,全选下面的所有文件,包括我们自己下载的ant.jar ,最后点击OK

修改tomcat 本身一些配置

删掉tomcat/webapps/examples 目录, 这里面都是一些示例,在源码编译中会报错,干扰我们的正常启动,可以先删掉

修改tomcat的端口号(可选)在 tomcat/conf/server.xml中进行修改,就像我们平时部署应用一样

启动tomcat 并跟踪

以前我们有聊过,在用shell 脚本启动tomcat时,是启动的Bootstrap.java这个类,并且跟上了参数 start

所以,我们需要idea的启动参数里面,也要加上start

打断点: 可以在我们前面讲的启动入口入,也就是main函数处打断点做最开始的追踪

放过断点继续运行一会,可以看到spring启动的界面

最后我们在浏览器中访问下我们写的controller,能看到相应的返回

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容