- 浏览: 143817 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jackroomage:
-HashMap 类 (除了不同步和允许使用 null ...
map,set,list,等JAVA中集合解析 -
bin_1715575332:
讲得很形象,呵呵。
Spring如何实现IOC与AOP的 -
love_miaohong:
表达的很清晰!
map,set,list,等JAVA中集合解析 -
Wuaner:
引用 4,sleep必须捕获异常,而wait,notify和n ...
sleep() 和 wait() 的区别 -
javawen:
dadsdddddd
java 异常类
Tomcat启动分析
核心提示:用 文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为 空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat
用 文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为 空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前 目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为 Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的 bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的 是“catalina.bat start”命令。
如果我们不是在Tomcat的bin目录作为当前目录时调用startup.bat,就会出现如图1-18所示的错误信息(在bin目录的父目录下调用除外)。
图1-18 在其他目录下启动Tomcat出错
如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到 Windows XP系统的环境变量中,其值就是Tomcat的安装目录。在笔者的机器上,Tomcat的安装目录是D:\OpenSource\apache- tomcat-6.0.16。添加CATALINA_HOME环境变量的过程和前述添加JAVA_HOME环境变量的过程是一样的。如果你不想在系统的环 境变量中添加,也可以直接在startup.bat文件中进行设置。下面是在startup.bat文件中设置CATALINA_HOME后的文件片段:
…rem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $rem --------------------------------------------------------------------set CATALINA_HOME=D:\OpenSource\apache-tomcat-6.0.16rem Guess CATALINA_HOME if not definedset CURRENT_DIR=%cd%if not "%CATALINA_HOME%" == "" goto gotHomeset CATALINA_HOME=%CURRENT_DIR%…
注意以粗体显示的这句代码的作用就是设置CATALINA_HOME环境变量,在它的下面是判断CATALINA_HOME是否为空的语句。如果找 不准位置,干脆将设置CATALINA_HOME环境变量的这句代码放到文件的第一行。JAVA_HOME环境变量也可以采用同样的方式进行设置。不过, 如果要在其他目录下利用shutdown.bat来关闭Tomcat服务器,则需要在shutdown.bat文件中设置CATALINA_HOME和 JAVA_HOME这两个环境变量,设置变量的位置和startup.bat文件一样,都是在判断CATALINA_HOME是否为空之前。当然,为了一 劳永逸,避免重装Tomcat后还要进行设置(需要是同一版本的Tomcat安装在同一位置),我们最好还是将CATALINA_HOME和 JAVA_HOME这两个环境变量添加到Windows XP系统的环境变量中。
有的读者可能会对Tomcat安装目录的环境变量的名字是CATALINA_HOME而感到奇怪,按照其他环境变量的设置来看,JAVA_HOME 表示JDK的安装目录,那么应该用TOMCAT_HOME来表示Tomcat的安装目录,可为什么要使用CATALINA_HOME呢?实际上,在 Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。
在Windows系统下环境变量的名字是与大小写无关的,也就是说,JAVA_HOME和java_home是一样的。
了解了startup.bat文件以后,我们再来看看真正负责启动Tomcat服务器的catalina.bat文件。通过分析 catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查 JAVA_HOME环境变量是否存在,并通过JAVA_HOME环境变量,找到java.exe,用于启动Tomcat。在这个文件中,还设置了其他的一 些变量,代表调用Java的标准命令,有兴趣的读者可以自行分析一下这个文件。在执行完setclasspath.bat之后,catalina.bat 剩下的部分就开始了Tomcat服务器的启动进程。
直接执行catalina.bat时,需要带上命令行的参数。读者可以在命令提示符窗口下,执行catalina.bat,就会打印出catalina.bat命令的各种参数及其含义,如图1-19所示。
(点击查看大图)图1-19 catalina.bat的各参数信息
其中常用的参数是start、run和stop。参数start表示在一个单独的窗口中启动Tomcat服务器,参数run表示在当前窗口中启动 Tomcat服务器;参数stop表示关闭Tomcat服务器。我们执行startup.bat,实际上执行的就是“catalina.bat start”命令;执行shutdown.bat,实际上执行的是“catalina.bat stop”命令。“catalina.bat run”命令有时候是非常有用的,特别是当我们需要查看Tomcat的出错信息时。
在开发JSP程序时,经常会碰到自己机器上的8080端口号被别的应用程序占用,或者在配置server.xml时出现错误,当通过 startup.bat(相当于执行“catalina.bat start”)启动Tomcat服务器时,如果启动过程中出现严重错误,由于是在单独的窗口中启动Tomcat服务器,所以一旦启动失败,命令提示符窗口 就自动关闭了,程序运行中输出的出错信息也随之消失,而且没有任何的日志信息,这就使得我们没有办法找出错误原因。当出现错误时,我们可以换成 “catalina.bat run”命令再次启动,一旦启动失败,仅仅是Tomcat服务器异常终止,但是在当前的命令提示符窗口下仍然保留了启动时的出错信息,这样我们就可以查找 启动失败的原因了。
核心提示:用 文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为 空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat
用 文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为 空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前 目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为 Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的 bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的 是“catalina.bat start”命令。
如果我们不是在Tomcat的bin目录作为当前目录时调用startup.bat,就会出现如图1-18所示的错误信息(在bin目录的父目录下调用除外)。
图1-18 在其他目录下启动Tomcat出错
如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到 Windows XP系统的环境变量中,其值就是Tomcat的安装目录。在笔者的机器上,Tomcat的安装目录是D:\OpenSource\apache- tomcat-6.0.16。添加CATALINA_HOME环境变量的过程和前述添加JAVA_HOME环境变量的过程是一样的。如果你不想在系统的环 境变量中添加,也可以直接在startup.bat文件中进行设置。下面是在startup.bat文件中设置CATALINA_HOME后的文件片段:
…rem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $rem --------------------------------------------------------------------set CATALINA_HOME=D:\OpenSource\apache-tomcat-6.0.16rem Guess CATALINA_HOME if not definedset CURRENT_DIR=%cd%if not "%CATALINA_HOME%" == "" goto gotHomeset CATALINA_HOME=%CURRENT_DIR%…
注意以粗体显示的这句代码的作用就是设置CATALINA_HOME环境变量,在它的下面是判断CATALINA_HOME是否为空的语句。如果找 不准位置,干脆将设置CATALINA_HOME环境变量的这句代码放到文件的第一行。JAVA_HOME环境变量也可以采用同样的方式进行设置。不过, 如果要在其他目录下利用shutdown.bat来关闭Tomcat服务器,则需要在shutdown.bat文件中设置CATALINA_HOME和 JAVA_HOME这两个环境变量,设置变量的位置和startup.bat文件一样,都是在判断CATALINA_HOME是否为空之前。当然,为了一 劳永逸,避免重装Tomcat后还要进行设置(需要是同一版本的Tomcat安装在同一位置),我们最好还是将CATALINA_HOME和 JAVA_HOME这两个环境变量添加到Windows XP系统的环境变量中。
有的读者可能会对Tomcat安装目录的环境变量的名字是CATALINA_HOME而感到奇怪,按照其他环境变量的设置来看,JAVA_HOME 表示JDK的安装目录,那么应该用TOMCAT_HOME来表示Tomcat的安装目录,可为什么要使用CATALINA_HOME呢?实际上,在 Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。
在Windows系统下环境变量的名字是与大小写无关的,也就是说,JAVA_HOME和java_home是一样的。
了解了startup.bat文件以后,我们再来看看真正负责启动Tomcat服务器的catalina.bat文件。通过分析 catalina.bat文件,我们发现它还调用了一个文件setclasspath.bat。在setclasspath.bat文件中,它检查 JAVA_HOME环境变量是否存在,并通过JAVA_HOME环境变量,找到java.exe,用于启动Tomcat。在这个文件中,还设置了其他的一 些变量,代表调用Java的标准命令,有兴趣的读者可以自行分析一下这个文件。在执行完setclasspath.bat之后,catalina.bat 剩下的部分就开始了Tomcat服务器的启动进程。
直接执行catalina.bat时,需要带上命令行的参数。读者可以在命令提示符窗口下,执行catalina.bat,就会打印出catalina.bat命令的各种参数及其含义,如图1-19所示。
(点击查看大图)图1-19 catalina.bat的各参数信息
其中常用的参数是start、run和stop。参数start表示在一个单独的窗口中启动Tomcat服务器,参数run表示在当前窗口中启动 Tomcat服务器;参数stop表示关闭Tomcat服务器。我们执行startup.bat,实际上执行的就是“catalina.bat start”命令;执行shutdown.bat,实际上执行的是“catalina.bat stop”命令。“catalina.bat run”命令有时候是非常有用的,特别是当我们需要查看Tomcat的出错信息时。
在开发JSP程序时,经常会碰到自己机器上的8080端口号被别的应用程序占用,或者在配置server.xml时出现错误,当通过 startup.bat(相当于执行“catalina.bat start”)启动Tomcat服务器时,如果启动过程中出现严重错误,由于是在单独的窗口中启动Tomcat服务器,所以一旦启动失败,命令提示符窗口 就自动关闭了,程序运行中输出的出错信息也随之消失,而且没有任何的日志信息,这就使得我们没有办法找出错误原因。当出现错误时,我们可以换成 “catalina.bat run”命令再次启动,一旦启动失败,仅仅是Tomcat服务器异常终止,但是在当前的命令提示符窗口下仍然保留了启动时的出错信息,这样我们就可以查找 启动失败的原因了。
发表评论
-
为什么匿名内部类参数必须为final类型(转)
2014-06-25 15:42 5361) 从程序设计语言的 ... -
Java finally语句到底是在return之前还是之后执行?
2014-05-15 16:48 637请查收附件 -
JVM调优总结 -Xms -Xmx -Xmn -Xss(转)
2012-11-26 11:18 732堆大小设置 JVM 中最大堆大小有三方 ... -
线程池ThreadPoolExecutor使用简介
2012-10-26 14:39 959一、简介 线程池类为 java.util.concurrent ... -
线程的7种状态及相互转换
2011-11-06 13:06 717先从图片开始 小小的作下解释: 1、线程的实现有两种方 ... -
Java设计模式之Observer
2011-03-24 14:15 868Java设计模式之Observer ... -
java定时器在web中的应用
2011-03-02 16:44 867好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过 ... -
使用activeMQ实现jms(转)
2010-11-03 16:59 993一:jms介绍 ... -
Jms基础知识整理(转)
2010-11-03 16:55 594详情见附件。 转载自:http://www.iteye.co ... -
java 线程Thread.Sleep详解(转)
2010-10-26 14:43 1021我们可能经常会用到 Thread.Sleep 函数来使线程挂起 ... -
在Eclipse中使用JUnit4进行单元测试(转)
2010-09-01 14:23 667详情见附件 转载自:http://blog.csdn. ... -
AOP是什么?(转)
2010-07-21 11:18 753为什么要区分J2EE容 ... -
J2EE 中的13种技术规范
2010-07-13 18:06 774J2EE 平台由一整套服务( Services ... -
XML解析技术研究(转)(二)
2010-07-12 15:51 7594、结论 随着XML的广泛应用,XML解析技术作为XML ... -
XML解析技术研究(转)(一)
2010-07-12 15:29 1122摘要 : XML 作为过去十年中出现的最流行的技术之一,得到了 ... -
sleep() 和 wait() 的区别
2010-07-09 18:06 947这两者的施加者是有本质区别的. sleep()是让某个线程暂停 ... -
Struts2操作Request、Session和Application对象 (转)
2010-05-06 16:48 1002Strtus2通常情况下使用以下两种方式来访问上述三种对象,即 ... -
jfreechart学习总结(转)
2010-04-22 17:37 1158自己最近学习了JfreeChart的使用,觉得这个冬冬的功能非 ... -
Java对象与json对象的转行
2010-04-19 23:31 1456jsontools 工具包可以将Java对象转化成json对象 ... -
Java注解(Annotation)(转)
2010-04-09 11:53 1643(1) Annotation(注释)是JDK5.0及以后版本引 ...
相关推荐
Tomcat启动分析与配置详解 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。理解Tomcat的启动过程和配置对于优化服务器性能和管理Web应用至关重要。本文将深入解析Tomcat的组成...
该文档是tomcat 启动分析,也是转的资源!希望对大家能有所帮助吧!!
`Tomcat启动分析-Servlet-Web.xml.doc`文档可能涵盖了启动过程中的关键步骤,包括加载`context.xml`(用于全局配置)、解析`web.xml`(Web应用的部署描述符)以及初始化Servlet和过滤器等。在启动过程中,Tomcat会...
**Tomcat启动原理解析** Tomcat作为一款广泛使用的开源Java应用服务器,其启动过程涉及了众多关键步骤和组件的协同工作。理解Tomcat的启动原理对于开发者来说至关重要,不仅有助于提升性能优化的能力,还能在遇到...
【标题】:Tomcat启动管理工具 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,主要用于部署和运行Servlet和JSP应用。Tomcat以其轻量级、易配置和高性能的特点深受开发者喜爱。"Tomcat启动管理工具"指...
### tomcat启动不了问题处理 在IT领域,Tomcat服务器是一款非常流行的开源Web服务器,它主要用来部署Java Web应用程序。然而,在使用过程中,用户可能会遇到Tomcat无法启动的问题。本文将详细探讨导致Tomcat启动...
通过对题目中提供的信息进行分析,我们可以了解到如何利用 Spring 与 Quartz 进行集成,从而实现 Tomcat 启动时调用 Quartz 执行一次任务的需求。通过合理配置 `SchedulerFactoryBean`、`CronTriggerBean` 和 `...
然而,在实际操作过程中,不少用户会遇到Eclipse中Tomcat启动失败的问题,这不仅影响了开发效率,也可能导致项目延期。本文将深入探讨这一问题,并提供一系列可能的解决方案,帮助开发者们有效应对Eclipse中Tomcat...
之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的。 解决方法 后面我把原先tomcat启动环境用的...
本文将对“tomcat启动的错误”这一主题进行深入探讨,并结合具体的错误信息来分析其原因及解决方案。 #### 错误描述:“Could not load com.mysql.jdbc.Messages Could not load java.net.BindException MySQL JDBC...
二、Tomcat启动流程 1. **初始化配置**:Tomcat首先读取`conf/server.xml`配置文件,解析各个组件的配置信息,构建组件层次结构。 2. **加载服务**:根据配置,Tomcat创建Service对象,Service由一个或多个...
通过本文的分析,我们将深入理解为什么需要配置CATALINA_HOME环境变量,以及它在Tomcat启动过程中所扮演的角色。 首先,我们来看看环境变量的作用。在Windows系统中,环境变量是操作系统用来指定系统运行环境的一些...
具体问题应该具体分析解决,一般而言我们解决Tomcat启动闪退问题的关键就是在于收集详细的错误信息,结合日志文件、环境配置和系统资源状态,逐步排查潜在的问题根源,并针对性地进行修正。 以下时可能出现的部分...
9. "Tomcat启动源代码分析.pdf":深入到启动脚本和Java代码,解释了从启动脚本开始,如何初始化和启动Tomcat服务的全过程。 10. "tomcat类加载机制.pdf":再次聚焦于Tomcat的类加载机制,可能深入到更多细节和技巧...
**Tomcat启动分析** Tomcat的启动过程主要包括读取配置文件、初始化服务器组件、加载Web应用程序等步骤。主要的启动脚本是`catalina.sh`或`catalina.bat`。在启动时,会读取`conf/server.xml`配置文件,这个文件定义...
tomcat的基础脚本分析 tomcat的源码启动分析 tomcat的web应用启动分析 tomcat的socket分析 tomcat的cocket与容器对接时序分析
通过上述分析和解决方案,可以有效地解决Tomcat启动缓慢的问题。尽管使用`/dev/urandom`代替`/dev/random`可能会降低系统的理论安全性,但在大多数实际应用环境中,这种方式已经足够安全。此外,增加系统的噪声也是...
在深入分析Tomcat的架构之前,需要了解Tomcat是Apache Jakarta项目中的一个核心项目,是一个免费的开源Servlet容器。它主要用于作为独立服务器或集成到Web服务器中,如Apache和IIS等。作为Web服务器,Tomcat负责解析...
### Tomcat 6.0 启动过程分析 #### Bootstrap 类的作用 `Bootstrap` 类作为 Tomcat 的启动入口,承担着构建一个独立的类加载器的任务,用于装载 `Catalina` 的内部类,以此来确保这些内部类与系统的 classpath 相...