下载源码
版本8.5网盘链接:https://pan.baidu.com/s/1SipkdXWIN7aPjOCzFB0vmg 提取码:66xy
解压后直接可以用idea和eclipse打开,我解压到D:\TomcatSourceCode\tomcat8下
找到启动类 org.apache.catalina.startup.Bootstrap,启动main应该就可以运行了(过了好久,有些忘了还有什么特殊操作,我贴上我的项目设置,如果按我的来有报错啥的问题留言让我回忆回忆)
乱码
启动控制台乱码,跟踪源码后发现代码支持国际化,配置文件根据当前地区来获取对应的提示信息
默认是中国,但是zh_CN文件的字符串在代码里被读取出来的字符串就是乱码,是因为这文件中中文为UTF-8编码,代码中获取出来编码格式为ISO-8859-1,那么就有两种解决方案
1、修改地区,启动参数中添加-Duser.language=en -Duser.region=US,控制台信息会是英文
2、修改源代码如下两个方法,把中文转一下
org.apache.tomcat.util.res.StringManager#getString(java.lang.String)
org.apache.jasper.compiler.Localizer#getMessage(java.lang.String)
效果:
源码跑项目
为了学习方便,可以idea中新建一个module,创建个SpringBoot的项目,将class文件设置为输出到/webapps/项目名/WEB-INF/classes下,复制上jar包,目录格式参考一般我们部署tomcat后项目的目录结构,然后启动Bootstrap.java,就可以愉快的用tomcat源码跑项目了