最近刚刚接触servlet,学习servlet需要安装Tomcat,然而下载tomcat解压后,就遇到一个Tomcat启动闪退的问题,通过查阅各种资料,粗略的了解了这个问题的解决方法。我觉得很好用,顺便总结了一些在评论区看到的问题和对应的解决方法,本菜鸟在此总结一下,分享给遇到此问题的朋友们啦!
Tomcat安装及配置教程主要分为四步:
步骤一:首先确认自己是否已经安装JDK;
步骤二:下载安装Tomcat;
步骤四:验证Tomcat配置是否成功。
1.Win+R打开运行,输入cmd回车,在命令行窗口中输入java,出现这些代表JDK已经安装。
2.然后查看自己的JDK版本,输入:java -version。
这里可以看到我的JDK版本是1.8的,Tomcat在JDK1.8版本下能够正常运行,其他版本会因为版本级别不兼容,不能正常启动。目前我尝试过Tomcat11.0和JDK17.0、Tomcat10.0和JDK17.0、Tomcat9.0和JDK17.0、Tomcat11.0和JDK1.8、Tomcat10.0和JDK1.8、Tomcat9.0和JDK1.8以及Tomcat8.0和JDK1.8,其中只有Tomcat9.0和JDK1.8以及Tomcat8.0和JDK1.8可以正常启动,其他的一直是未发现(Not Found)的状态。
所以最终我选择了Tomcat8.0和JDK1.8。
1.官网:http://tomcat.apache.org/,选择下载版本(tomcat 8.0版本为例讲述其过程),下载64-bit Windows zip(Win64)
2.之后选择解压到任意一个盘,我这里是解压到D盘,一定要记住解压的路径,后面系统环境变量配置的时候要浏览目录。
1.安装完成后,右击【我的电脑】,点击【属性】;
2.选择【高级系统设置】选项卡,点击【环境变量】;
(1)新建系统变量,变量名为CATALINA_HOME,变量值为解压文件夹的路径,点击浏览目录,然后浏览到刚刚Tomcat压缩包解压到的文件目录下;
(2)找到系统变量Path,双击空白处或新建即可在末尾加上%CATALINA_HOME%\bin;
注:上面操作已经完成配置了,但不代表着就已经成功完成配置了,还需要验证Tomcat配置是否成功。
1.进入Windows命令行窗口(Win+R,输入cmd,回车进入命令行)
2.输入startup.bat,回车,看到如下画面。
3.有可能Tomcat会出现了乱码,如下图所示。
(1)这是因为我们的默认编码语言是UTF-8,要把它改成GBK。
(2)具体步骤:打开apache-tomcat-8.5.88——conf——logging.properties,如下图所示文件位置。
(3)用记事本打开logging.properties找到下图那一行代码,改成:java.util.logging.ConsoleHandler.encoding =GBK,即把这一行的UTF-8改为GBK。
(4)改完之后正确显示如下图所示
4.验证Tomcat是否配置成功。在浏览器输入:http://localhost:8080/。因为Tomcat默认的端口号就是8080,如果我们没有修改的话,默认端口号是8080,成功的画面如下图所示。
注:不是https:啊!!!
(1)如果出现NOT FOUND的问题。
(1 黑窗口,也就是打开的Tomcat窗口被关闭了,此时就会显示NOT FOUND。
解决方法:把Tomcat重新打开后再去输入对应的网址(http://localhost:8080/)
(2 默认端口8080被占用,此时可以选择改变原本默认的端口8080。
解决方法:打开apache-tomcat-8.5.88——conf——server.xml,然后将图中选中的port端口号8080改为其他未被占用的端口号。
注:如果端口号发生改变,网址必须改变,不然也依旧会是not found。
注:刚才那个黑窗口一定不能关闭,否则肯定打不开这个页面的!!!
端口不能关闭!!!
端口不能关闭!!!
端口不能关闭!!!
以下问题和解决方法来自个人亲测+网友评论。
(2)如果步骤走完了,但startup.bat还是失败、闪退。
解决方法:检查一下看看是不是用管理员身份打开cmd的。
(3)配置环境变量以后,输入 startup.bat显示:The jre home environment variable is not defined correctly. This environment variable is needed to run this program.
解决方法1:Jre没配置好,可能需要下载jre或者查看是否在用户变量设置了环境变量。
解决方法2:这是什么问题呢,我在之前电脑装也没有遇到过这种问题,看报错是JRE_HOME没有找到,在startup.bat里边实际调用了另一个批处理,就是setclasspath.bat这个文件。既然没有找到JRE_HOME,那么我们来给他定义一个路径让系统找到不就好了。
以文本方式打开setclasspath.bat这个文件,写入自定义路径(这里可能有所不同,按自己实际的位置来就好):
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
set JRE_HOME=C:\Program Files\Java\jdk1.8.0_181\jre
(4)在cmd输java, javac, java -version都是对的,但startup.bat闪退。
解决方法:查看是否在用户变量区域同时配置了jdk环境变量(是要在系统变量处配置!!!)
(5)为什么输入startup.bat 显示:不是内部或外部命令?
解决方法:可能是在用户变量处设置了环境变量,检查一下。(我第一次安装就是错在这,没检查出来,检查了很久很久,真的是一个Bug找一天)
(6)startup.bat闪退,而且startup.bat之后看不到后面的一堆东西。
解决方法:tomcat环境变量没配置好,如果已经配置好了的话,那肯定是jdk环境变量配置出现问题,先检查Tomcat的配置,如果没问题,就去检查jdk环境变量配置。
我写的jdk1.8安装和配置环境变量教程:jdk1.8下载安装和环境变量配置教程
(7)输入startup.bat之后报错,说没有这个命令。
解决方法:重启一下电脑。
(8)UTF-8改为GBK,如果还是出现乱码,
解决方法:等号后面需要加空格。