Tomcat的启动不一定会非常的顺利,这可以有多种原因

  一、Tomcat是由Java所编写的,因此Tomcat的使用需要JDK的支持,如果没有配置环境变量,Tomcat当然无法启动,最明显的特征就是点击“startup.bat”会出现闪退,因此要在环境变量中设置“JAVA_HOME”的值为JDK的主目录,然后再在startup.bat和shutdown.bat中的首行加入

SET JAVA_HOME = F:\JDK_Kit
SET CATALINA_HOME = F:\TomCat_8.0.24

其中设置的属性值根据个人将JDK放置的位置所定,但一定是和环境变量中设置的一致。(这里还有一个CATALINA_HOME,稍后会说到)。对于初次安装Tomcat,当然还要在cmd中安装service.bat,这个请看《Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试》中的安装过程。这里说的Tomcat启动不起来可能是因为环境变量中误删了JAVA_HOME变量或者将JDK文件移动了位置,请注意检查。

  二、由Tomcat的配置文件,Tomcat的端口默认为8080,如果其它软件占了8080端口,Tomcat启动会出错,最简单的实验方式就是开启一个Tomcat服务器后,再开一个Tomcat,这样后面的Tomcat的服务器就会启动出错。

    因此有两种解决方式:

    (1).在Tomcat配置文件中将8080端口改为其它端口

    (2). 将在8080端口的软件关闭,以便Tomcat的启动。

  一般在第二种解决方式都会先查询是哪一个软件占用了8080端口,然后进入任务管理器对其进行关闭,而有时我们会发现在任务管理器中结束某个进程后,这个程序会自动的又重新启动,造成杀不死的现象,如果发生这个情况,通常需要进Windows的“服务”中(方式:在cmd中键入“services.msc”)找到对应的程序,将其进行停止即可,对于某些程序如果启动方式是自动,通常都是开机启动并具有自动重启功能,非重要的程序经三思后可以考虑设置为手动启动方式。

  三、上面曾经谈到设置的环境变量还有一个,那就是“CATALINA_HOME”,这个环境变量是告诉Tomcat的启动程序 Tomcat程序在哪里。

    我的Tomcat放置在F盘目录下,环境变量中的设置也是其在F盘的目录,现在我拷贝一份Tomcat在D盘,在两份Tomcat的【webapps】目录下都有我自定义的【fjdingsdapp】目录,所不同的是在D盘下的该目录中有 “d.html” 文件,而在F盘下的该目录中有 “1.html” 文件,如下图所示:

  在D盘下

  在F盘下

  注意:这时从D盘中的Tomcat启动,我们来访问d.html文件:

  

  从D盘中启动的Tomcat服务器,在浏览器无法访问该Tomcat目录中的web应用程序,如果是访问1.html呢:

  

  从D盘启动的Tomcat无法访问D盘下的Tomcat目录中的web应用,但是可以访问F盘下的web应用,说明从D盘点击的Tomcat启动程序 启动的却是CATALINA_HOME变量所指的Tomcat服务器,因此一定要将相应的web应用放置在CATALINA_HOME所定义的位置!!

  PS:

  Tomcat也可以不设置CATALINA_HOME环境变量,如果不设置,那么情况就跟上面不同,不设置CATALINA_HOME变量,那么从哪里打开Tomcat启动程序,就是运行哪里的Tomcat目录应用,以上面的例子为例,如果不设置CATALINA_HOME,那么从D盘打开的Tomcat服务器后,浏览器就可以访问D盘Tomcat目录下的d.html而不是F盘中Tomcat目录下的1.html了。

  当然凡是软件,启动出错或者运行出错的原因会有千百种,今天可能运行正常,明天就出问题了,对这种问题我们可以去Tomcat的日志文件中查询,在Tomcat的目录下有这么一个【log】文件夹,里面存放都是Tomcat启动运行的日志:

  

这些日志以时间作为文件名,非常便于管理查看。

Tomcat启动会遇到的问题部分解决方案的更多相关文章

  1. Tomcat 启动花费很长时间的解决方案

    原始解决方案链接 将 $JAVA_PATH/jre/lib/security/java.security 中的 securerandom.source=file:/dev/urandom 替换为 se ...

  2. CentOS环境下tomcat启动超级慢的解决方案

    在本地开发环境,应用正常启动. 在CentOS测试环境,应用启动速度也是正常的. 但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容: org.apache.catalina. ...

  3. Spring Boot 添加jersey-mvc-freemarker依赖后内置tomcat启动不了解决方案

    我在我的Spring Boot 项目的pom.xml中添加了jersey-mvc-freemarker依赖后,内置tomcat启动不了. 报错信息如下: org.springframework.con ...

  4. Tomcat启动报错:[The configuration may be corrupt or incomplete]的解决方案

    1,场景说明: 偶然碰见Tomcat启动报错,此时并没有Add任何Web项目: Could not load the Tomcat server configuration at /Servers/T ...

  5. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案【原创】

    问题描述: tomcat启动后,console正常,console中语句为: 信息: Server startup in 7291 ms   但浏览器访问首页面http://localhost:808 ...

  6. CentOS7下Tomcat启动慢的原因及解决方案

    现象 在一次CentOS 7系统中安装Tomcat,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的.Tocmat的Session ID是通过SHA1算法 ...

  7. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案

    转:tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案 检查tomcat与web工程对应版本,tomcat中对应版本的jar包拷贝到web工程 ...

  8. Tomcat启动时报org.springframework.web.context.ContextLoaderListener错误解决方案

    问题现象:新从svn上检出maven的项目maven+spring+springmvc项目在Tomcat启动时,报如下错误. 严重: Error configuring application lis ...

  9. Tomcat启动时,控制台和IDEA控制台中文乱码解决方案

    Tomcat启动时 控制台中文乱码 cmd控制台 IDEA控制台 解决方案 cmd乱码 打开Tomcat目录下的apache-tomcat-8.5.47\conf\logging.properties ...

随机推荐

  1. 【HTTP 2】 序言

    笔者序 HTTP 2 这个关键词在各大 IT 网站出现频率节节升高,然而出现在大家视野里的,仍以浅析居多.虽有一部分实战(如 InfoQ 之前推送的 iOS App 网络层次架构优化),但针对 HTT ...

  2. linux ubuntu安装jdk

    Oracle对Jdk7与Jre7的关系的经典图解 Oracle has two products that implement Java Platform Standard Edition(Java ...

  3. 设计模式 ( 十三 ) 命令模式Command(对象行为型)

    设计模式 ( 十三 ) 命令模式Command(对象行为型) 1.概述         在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需 ...

  4. Android中使用"running services"查看service进程内存

    从Android 2.0开始,在Settings中加入了一个新的activity("Running Services" activity),它用于显示当前运行的每个Services ...

  5. signal()函数说明

    表头文件#include<signal.h> 功 能:设置某一信号的对应动作 函数原型:void (*signal(int signum,void(* handler)(int)))(in ...

  6. CF#231DIV2:A Good Number

    Let's call a number k-good if it contains all digits not exceeding k (0, ..., k). You've got a numbe ...

  7. Mockito简介(转)

    Mockito 是目前 java 单测中使用比较流行的 mock 工具.其他还有 EasyMock,JMock,MockCreator,Mockrunner,MockMaker 及 PowerMock ...

  8. [Android系列—] 1. Android 开发环境搭建与Hello World

    前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于And ...

  9. WebService推送数据,数据结构应该怎样定义?

    存放在Session有一些弊端,不能实时更新.server压力增大等... 要求:将从BO拿回来的数据存放在UI Cache里面,数据库更新了就通过RemoveCallback "告诉&qu ...

  10. linux head命令

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...