tomcat源码阅读(一)——环境搭建
来源:互联网 发布:微软sql server官网 编辑:程序博客网 时间:2024/05/29 11:14
一、工具准备
需要SVN、Maven、JDK、Eclipse、M2Eclipse
二、下载源码及发布包
源码在:
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_27/
发布包在:
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.27/bin/
说明:下载发布包这个步骤是可选的,好处是免得从源码再自行构建,节省时间;另外发布包里的配置文件等,接下来可以直接拿来用,很方便
三、整理目录
前面下载得到了源码和发布包,现在要把它们放到同一个目录里,再整理一下,方便后面把它转化成eclipse工程,毕竟后续读源码,以及调试,都要在eclipse里完成
新建一个单独的目录,叫tomcat7.0.27,然后把刚才下载的源码和发布包都放进去。源码目录重命名为code;发布包重命名为launch
得到的目录结构见下图:
一会就会把这个目录导入eclipse,变成可运行,可调试的eclipse工程
四、转换成maven工程
将附件中的pom.xml放入目录,与code、launch目录平行
得到的目录结构见下图:
说明:这也不是必须的,只是为了方便
五、导入eclipse
导入成功以后,eclipse里的工程目录结构如下图:
接下来就可以在eclipse里运行和调试tomcat了,也可以随意修改源代码,或者自己添加测试用例
六、启动tomcat
tomcat启动入口类是:org.apache.catalina.startup.Bootstrap
平时我们用发布包启动tomcat一般是用脚本startup.bat或者startup.sh,其实就是在脚本中先处理启动参数和系统变量,然后调用这个入口类的main()方法
所以在eclipse里启动,我们也是直接执行这个类的main()方法,只是模拟脚本,设置一下启动参数和系统变量
方法1:
在VM arguments中,拷贝以下参数
-Dcatalina.home=launch -Dcatalina.base=launch -Djava.endorsed.dirs=launch/endorsed -Djava.io.tmpdir=launch/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=launch/conf/logging.properties
如图:
方法2:
将附件中的启动脚本,拷贝到工程目录下,结构如下图:
然后直接在start-tomcat7.launch上右键点击,run就可以
启动效果如下图:
眼熟,和普通的脚本启动,以及启动嵌入式tomcat的信息都是一样的
最后用浏览器访问:http://localhost:8080/examples/
七、tomcat7核心架构
包名作用javax.*各种JSR的API,如jsp、servlet、el等org.apache.catalinatomcat自身架构org.apache.coyotehttp、ajp协议实现org.apache.elEL规范实现org.apache.jasperJSP规范实现org.apche.juli日志org.apache.namingJNDI实现org.apache.tomcat工具包、XML解析器等
需要SVN、Maven、JDK、Eclipse、M2Eclipse
二、下载源码及发布包
源码在:
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_27/
发布包在:
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.27/bin/
说明:下载发布包这个步骤是可选的,好处是免得从源码再自行构建,节省时间;另外发布包里的配置文件等,接下来可以直接拿来用,很方便
三、整理目录
前面下载得到了源码和发布包,现在要把它们放到同一个目录里,再整理一下,方便后面把它转化成eclipse工程,毕竟后续读源码,以及调试,都要在eclipse里完成
新建一个单独的目录,叫tomcat7.0.27,然后把刚才下载的源码和发布包都放进去。源码目录重命名为code;发布包重命名为launch
得到的目录结构见下图:
一会就会把这个目录导入eclipse,变成可运行,可调试的eclipse工程
四、转换成maven工程
将附件中的pom.xml放入目录,与code、launch目录平行
得到的目录结构见下图:
说明:这也不是必须的,只是为了方便
五、导入eclipse
导入成功以后,eclipse里的工程目录结构如下图:
接下来就可以在eclipse里运行和调试tomcat了,也可以随意修改源代码,或者自己添加测试用例
六、启动tomcat
tomcat启动入口类是:org.apache.catalina.startup.Bootstrap
平时我们用发布包启动tomcat一般是用脚本startup.bat或者startup.sh,其实就是在脚本中先处理启动参数和系统变量,然后调用这个入口类的main()方法
所以在eclipse里启动,我们也是直接执行这个类的main()方法,只是模拟脚本,设置一下启动参数和系统变量
方法1:
在VM arguments中,拷贝以下参数
-Dcatalina.home=launch -Dcatalina.base=launch -Djava.endorsed.dirs=launch/endorsed -Djava.io.tmpdir=launch/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=launch/conf/logging.properties
如图:
方法2:
将附件中的启动脚本,拷贝到工程目录下,结构如下图:
然后直接在start-tomcat7.launch上右键点击,run就可以
启动效果如下图:
眼熟,和普通的脚本启动,以及启动嵌入式tomcat的信息都是一样的
最后用浏览器访问:http://localhost:8080/examples/
七、tomcat7核心架构
包名作用javax.*各种JSR的API,如jsp、servlet、el等org.apache.catalinatomcat自身架构org.apache.coyotehttp、ajp协议实现org.apache.elEL规范实现org.apache.jasperJSP规范实现org.apche.juli日志org.apache.namingJNDI实现org.apache.tomcat工具包、XML解析器等
0 0
- tomcat源码阅读(一)——环境搭建
- tomcat源码阅读(一)——环境搭建
- tomcat源码阅读(一)——环境搭建
- tomcat源码阅读(一)——环境搭建
- Tomcat源码分析环境搭建(Tomcat源码阅读系列之一)
- Spring 源码阅读一 环境搭建
- spring源码阅读1——环境搭建&阅读方法
- Tomcat源码分析(一):环境的搭建
- Tomcat源码分析(一):环境的搭建
- 深入理解 Tomcat(一)源码环境搭建和 How Tomcat works 源码
- 搭建大型源码阅读环境——使用 OpenGrok 搭建大型源码阅读环境——使用 OpenGrok
- Tomcat源码阅读(一)初始化
- 阅读TOMCAT 8源码(一)
- Tomcat 源码阅读(一)总概
- Hadoop源码阅读环境搭建
- spark源码阅读环境搭建
- 搭建Spark源码阅读环境
- kafka源码阅读环境搭建
- Codeforces Round #338 div 2 D. Multipliers 数论
- 【PHP进阶篇】2.函数--慕课网【学习总结】
- 冲突管理
- XML文件的解析和json的解析
- DNA序列 uva1368
- tomcat源码阅读(一)——环境搭建
- 2015年十佳数据可视化项目
- 秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量
- CSS3的过渡效果(transition)与动画(animation)
- 消息中间件
- c# - Lazy<T> 延迟初始化对象
- Android出现CursorWindow: Window is full: requested allocation 1354087 bytes, free space 141032 bytes,
- Java编码的那些事儿
- Swift中的问号?和感叹号!