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. 基于visual Studio2013解决算法导论之054图的邻接矩阵表示

     题目 图的邻接矩阵表示 解决代码及点评 // 图的邻接矩阵表示.cpp : 定义控制台应用程序的入口点. // #include <iostream> #include <l ...

  2. 什么是TimeTunnel

    index - Taocode 欢迎使用TimeTunnel PageOutline(1-3,,inline) 什么是TimeTunnel !TimeTunnel(简称TT)是一个基于thrift通讯 ...

  3. sql2008r2局域网复制订阅实操

    10.129.186.37 本机 10.129.186.95 服务器 局域网环境 复制类型:事务复制 注意点:要复制的表,必须有主键,否则不可选复制表. 要点1,局域网尝试用共享的方式保存快照文件夹, ...

  4. Sql语句中使用参数化的Top

    在sql中使用参数化的Top,Top后面的参数要用括号括起来. 例如: select top (@ts) ID, [Type], Title, Content, LinkMan, Tel, Check ...

  5. HTML 5与HTML 4的区别

    严重的拖延者患者,本来前天就打算写的,奈何拖到的今天才...(对拖延症有啥好的建议还望留言下,感激不尽...) 过完年了,跳槽蠢蠢欲动了,看些基础知识好应对面试,正好就整理整理... 正文开始 1.推 ...

  6. Qt学习之路(54): 自定义拖放数据对象

    前面的例子都是使用的系统提供的拖放对象 QMimeData 进行拖放数据的存储,比如使用 QMimeData::setText() 创建文本,使用 QMimeData::urls() 创建 URL 对 ...

  7. P65

    #include<stdio.h> #define N 6 main() { char c[N]; int i=0; for(;i<N;c[i]=getchar(),i++); pr ...

  8. DFS深搜——Red and Black——A Knight&#39;s Journey

    深搜,从一点向各处搜找到全部能走的地方. Problem Description There is a rectangular room, covered with square tiles. Eac ...

  9. EF 简单的 CRUD、分页 代码笔记

    添加: static void Main(string[] args)        {            CCDBEntities ccdbContext = new CCDBEntities( ...

  10. Webfrom 生成流水号 组合查询 Repeater中单选与复选控件的使用 JS实战应用

                                             Default.aspx 网页界面 <%@ Page Language="C#" AutoE ...