探秘Tomcat
Posted 于继海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探秘Tomcat相关的知识,希望对你有一定的参考价值。
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形;但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生活,你就会发现世界如此美好,我知道的如此的少!
好比,但你看到如下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
namespace Singleton { public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton GetInstance() { if (singleton == null ) { singleton = new Singleton(); } return singleton; } } } |
没错,这就是几行代码,在你还没有接触到什么是单例模式的时候,一个有好奇心的人会按照machine的执行过程走一遍这段代码,一个善于总结的人在理解后还会细细体味这段代码的奥妙之处,如果是一只刚出道的青蛙,或许一面之缘后就是代码眼中过,啥也没有留;相反,你如果深谙单例模式之道,你一眼就看出了这是单例模式,而且还是懒汉式。
说了这么多还是想说一句话:知识面很重要,思考很重要!
正文:言归正传,今天完成了如何Tomcat如何导入到Myeclipse中,以下是自己的操作步骤。
一:版本选型
Tomcat还是选择经常用的Tomcat6,源码下载链接:
http://tomcat.apache.org/download-60.cgi
Ant 选择的版本是1.7(用作编译Tomcat源码使用),下载链接:
http://archive.apache.org/dist/ant/binaries/
Myeclipse版本:8.6
二:获取Tomcat源码
1.将下载好的apache-tomcat-6.0.43-src.zip解压到某文件夹中,如D:\\tomcat\\apache-tomcat-6.0.43-src
2.使用Ant编译Tomcat源码
2.1配置Ant环境:
-
-
计算机-> 右键“属性”->点击“高级系统设置”->选择“高级”选项卡->点击“环境变量”,弹出对话框:
-
添加Ant_HOME: D:\\安装包\\apache-ant-1.7.0-bin\\apache-ant-1.7.0(我的ant解压在D:\\安装包 下)
path: %ANT_HOME%\\bin
-
- 验证Ant配置是否成功
开始->运行->cmd,输入ant -version得到
2.2使用Ant编译Tomcat源码
-
- 进入源码所在目录:
-
-
执行“ant download”命令,下载tomcat依赖的项目
-
-
- 执行ant命令,编译成功,界面如下:
这时可以发现目录D:\\安装包\\apache-tomcat-6.0.43-src下多了个output文件夹,进入bin目录,分别点击startup.bat和shutdown.bat启动和结束tomcat服务。
点击startup.bat,Tomcat成功启动:
三、Myeclipse中导入Tomcat源码
1.新建Java Project,如TSTest
2.右键项目->Import->File System
选中tomcat源码所在文件位置,勾选其中的java和test两个文件夹,Into folder选择当前新建的项目,如图所示:
3.导入如下jar包:
注意,org.eclipse.jdt.core_3.5.2.v_981_R35x.jar可以在Myeclipse安装的目录....\\AppData\\Local\\Genuitec\\Common中找到
这样tomcat源码项目就不会报错了。
4.运行tomcat源码
进入org.apache.catalina.startup下的Bootstrap.java类,右键run as->Java Application
发现没有正常启动,控制台信息为:
1
2
3
4
5
6
7
8
9
10
|
2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile 警告: Problem with directory [D:\\Users\\Administrator\\Workspaces\\MyEclipse 8.6\\TSTest\\lib], exists: [false], isDirectory: [false], canRead: [false] 2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile 警告: Problem with directory [D:\\Users\\Administrator\\Workspaces\\MyEclipse 8.6\\TSTest\\lib], exists: [false], isDirectory: [false], canRead: [false] 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load 警告: Can\'t load server.xml from D:\\Users\\Administrator\\Workspaces\\MyEclipse 8.6\\TSTest\\conf\\server.xml 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load 警告: Can\'t load server.xml from D:\\Users\\Administrator\\Workspaces\\MyEclipse 8.6\\TSTest\\conf\\server.xml 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina start 严重: Cannot start server. Server instance is not configured. |
从提示信息可以看出是没有加载server.xml等文件,通过查找发现需要在run as->run Configurations中的VM arguments中添加:
-Dcatalina.home="D:\\tomcat\\apache-tomcat-6.0.43-src\\output\\build"(该目录为tomcat源码所在目录)
运行成功,控制台打印信息为:
以前无数次的启动和终止tomcat,数这次最特别,真正的从源码去控制Tomcat服务^_^
如果觉得有用,欢迎点赞,同时欢迎加入左边公告栏群!
本文链接《探秘Tomcat(一)——Myeclipse中导入Tomcat源码》
友情赞助
如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
1. 支付宝 2. 微信
以上是关于探秘Tomcat的主要内容,如果未能解决你的问题,请参考以下文章
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途