1、下载、安装、配置 php
一、 JDK 下载oracle或者IBM JDK 1.6版本 html
二、 ANT http://ant.apache.org java
三、 Myeclipse http://www.eclipse.org/downloads apache
四、 安装这里再也不详细说!Tomcat的运行须要用到Ant。 浏览器
五、 添加环境变量JAVA_HOME和ANT_HOME。将%ANT_HOME%\bin添加到PATH中 tomcat
六、 之因此用Myeclipse是由于Tomcat中用到了javaee.jar包的类,若是用eclipse的话还要单独下载javaee.jar。 oracle
七、 利用TortoiesSVN检出Tomcat的源码或者到官网去下载。 eclipse
2、编译Tomcat6源码
从Tomcat的源代码文件找到build.properties.default文件,打开这个文件找到下面这行:
base.path=/usr/share/java
这个路径是用来存放即将下载的文件的目录,因为我用的是Windows,因此改成适合个人目录:
base.path=/Tomcat-DownLoad //最后生成的目录在源文件所在盘符的根目录下,本例为F:/Tomcat-DownLoad jsp
/** ui
base.path=D:/Workspace/JEE/workspace/TOMCAT_6_0_26/share
最初用的是这种形式,确在目录中建立了一个特别的名字,不知什么缘由,因此用上面的形式
**/
这个路径是用来存放编译Tomcat时实时下载jar的文件夹,修改后另存为build.properties。
接着在D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src 目录下打开命令行窗口,执行下面命令(这里的src目录就是Tomcat源码的目录,下面是图)
ant download
TOMCAT_6_0_26这个版本目前下载正常,较老版本一些下载连接可能会失效,须要在 build.properties文件中改连接。
下载了以下文件:
下载时,有可能nsis-2.46这个包没下载成功,须要再执行一遍ant download命令。
下载完后直接执行 ant 命令就开始编译了
编译过程当中可能会提示:“没有提示符JDT”相似的错误信息,缘由是下载的ecj-3.7.jar文件不能正常使用形成的!
解决办法:
到下面的地址下载相关的ecj-3.7.2.jar
下载后更名为ecj-3.7.jar替换下载的文件便可!
若是编译成功会提示下面信息:
编译完成后会产生一个output目录,到这个目录(F:\source\javaEE\Web\Tomcat\output\build)下看看,怎么样?咱们见到了熟悉的Tomcat目录结构,以下图:
3、将Tomcat源码导入MyEclipse
打开MyEclipse,新建一个Java项目,而后点击“Next”按钮,在“Use default location”中填入D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src
Project name: TOMCAT_6_0_26
而后一路next
接着咱们会看到MyEclipse拒绝编译该项目,不要着急,这是因为Eclipse找不到该项目指定的库文件。右击该项目弹出菜单选择 "Build Path" -> "Configure Build Path..." -> "Libraries"
Remove下面两项:
ANT_HOME/lib/ant.jar
TOMCAT_LIBS_BASE/...
若是这两项没有则忽略删除。
接着添加以下依赖(Add External JARs...):
(也能够参考:http://tomcat.apache.org/tomcat-6.0-doc/building.html#Building_with_Eclipse)
(1) ant.jar (在你电脑ant安装目录下lib目录下能够找到)
(2)wsdl4j.jar
(2) junit4.7 (这两个在网上很容易找到)
5.在MyEclipse中运行Tomcat
找到org.apache.catalina.startup.Bootstrap
右键 Run as -> Run Configurations...
在Program参数窗口和VM参数窗口分别填入
start
和
-Dcatalina.home="D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src\output\build"
Debug同理,不解释,看图:
从org.apache.jasper.compiler.Compiler类的generateJava()方法开始Debug更好,debug启动Tomcat,而后浏览器输入地址并回车,就会看到以下Debug视图:
注意:generateJava方法是将jsp编译成java class,这个行为只有第一次请求时才会调用,将你再次发送请求时你将看不到这个Debug视图了,解决办法是到Tomcat的 build\work\Catalina\目录删除对应jsp的类文件
当启动程序是,可能会出现错误提示:
直接单击“Proceed”按钮。
在浏览器中输入http://localhost:8080/examples
单击Servlets examples后出现:
接下来,带个好心情,读源码吧,祝快乐