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. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  2. java里,当long与上了int

    long switchState = 0xf0000000000L; int result = (switchState & 0xff00000000L) > 0 ? 0x01 : 0x ...

  3. 同步内核缓冲区 sync、fsync和fdatasync函数

    同步内核缓冲区 1.缓冲区简单介绍 人生三大错觉之中的一个:在调用函数write()时,我们觉得该函数一旦返回,数据便已经写到了文件里.可是这样的概念仅仅是宏观上的.实际上.操作系统实现某些文件I/O ...

  4. [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器

    原文链接:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探 ...

  5. JAVA刚碰见的问题( java.lang.SecurityException: The jurisdiction policy files are not signed by a trusted signer)

    原文:刚碰见的问题 1.  failed to load the jni shared library jre bin server jvm.dll 解决:这个主要是eclipse的版本和安装的jdk ...

  6. [C++Boost]程序参数项解析库Program_options使用指南

    介绍 程序参数项(program options)是一系列name=value对,program_options 允许程序开发者获得通过命令行(command line)和配置文件(config fi ...

  7. 我的Android进阶之旅------>HTTP 返回状态值详解

    (本文转载于:http://blog.csdn.net/ithomer/article/details/10240351) 当用户点击或搜索引擎向网站服务器发出浏览请求时,服务器将返回Http Hea ...

  8. 枚举+搜索 hdu-4431-Mahjong

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4431 题目大意: 给一副牌,求出所有能糊的牌. 解题思路: 枚举每一张牌,看能不能糊. 因为一共只有 ...

  9. PHP - 目录与文件

    第6章 目录与文件 学习要点: 1.目录操作 2.磁盘.目录和文件计算 3.文件处理 将相关的数据组织为文件和目录等实体,这一直是计算环境的核心概念.出于这个原因,程序员需要有一种方法来获得关于文件和 ...

  10. 柔性数组-读《深度探索C++对象模型》有感

    最近在看<深度探索C++对象模型>,对于Struct的用法中,发现有一些地方值得我们借鉴的地方,特此和大家分享一下,此间内容包含了网上搜集的一些资料,同时感谢提供这些信息的作者. 原文如下 ...