J2EE
/
Tomcat
/
Tomcat 启动和使用过程中的各种问题排查
改端口
404问题排查
登录后可下载
工具版本兼容问题
列罗出了Tomcat常见的问题,如不能启动,屏幕一闪而过,启动之后,访问总是出现404等等常见问题。
以下排查手段都是针对通过startup.bat 独立方式启动的Tomcat,集成开发环境IDE(IDEA,ECLIPSE,MYECLIPSE等) 下的Tomcat启动不在此知识点讨论范围之内。
步骤
1
:
JAVA_HOME
步骤
2
:
CATALINA_HOME未设置
步骤
3
:
CATALINA_HOME错误设置
步骤
4
:
端口冲突
步骤
5
:
localhost.yyyy-mm-dd.log
步骤
6
:
Error FilterStart
步骤
7
:
JDK版本
步骤
1
:
JAVA_HOME
顶
折
现象:点击startup.bat之后,屏幕一闪而过检验:如图所示, 首先通过cmd命令进入控制台,然后切换到对应的目录执行startup命令,得到JRE_HOME environment .... 这么个提示,就表示JAVA_HOME环境变量没有设置。分析:Tomcat本身是JAVA程序,必须要有JDK才可以执行,所以必须配置JAVA_HOME。解决:进入配置JAVA_HOME教程,跟着下载,配置,验证三个步骤学习如何进行JDK环境变量配置。
步骤
2
:
CATALINA_HOME未设置
顶
折
现象:点击startup.bat之后,屏幕一闪而过检验:如图所示, 首先通过cmd命令进入控制台,然后切换到对应的目录执行startup命令,得到CATALINA_HOME environment .... 这么个提示,就表示CATALINA_HOME环境变量设置错误。分析:Tomcat执行必须依赖CATALINA_HOME或者CATALINA_BASE这两个环境变量。 如果没有在环境变量里配置过,那么会自动采用bin目录的父目录作为CATALINA_HOME和CATALINA_BASE。 如果配置了,而所配置的地方又不是正确的TOMCAT目录,那么就会出现这个错误。解决:1. 在环境变量中删除CATALINA_HOME,CATALINA_BASE的配置,记得不仅要检查环境变量,还要检查用户变量。2. 或者把CATALINA_HOME设置为正确的TOMCAT目录。
步骤
3
:
CATALINA_HOME错误设置
顶
折
现象:Tomcat可以成功启动,但是就是不能访问自己配置的web应用,老是提示404错误检验:如图所示, 在环境变量里,CATALINA_HOME设置在了另一个合法的tomcat目录上,所以无论运行哪个startup.bat,都会导致这个d:/tomcatxxxx目录下的程序被启动,而不是你期望的那个。分析:默认的Tomcat会优先根据环境变量中的CATALINA_HOME来定位目录,并运行。解决:1. 在环境变量中删除CATALINA_HOME,CATALINA_BASE的配置,记得不仅要检查环境变量,还要检查用户变量。2. 或者使用本站的纯净版 Tomcat,已经取消了对环境变量CATALINA_HOME和CATALINA_BASE的依赖。
步骤
4
:
端口冲突
顶
折
现象:屏幕一闪而过,或者不会关闭,但是提示大量错误,其中会看到如图所示的Address already in use: JVM_Bind
步骤
5
:
localhost.yyyy-mm-dd.log
顶
折
现象:404错误检验:打开tomcat/logs目录里的localhost.yyyy-mm-dd.log文件,发现大量的报错信息。分析:当server.xml, web.xml配置错误的时候,当前web应用就会部署失败,并且会将错误信息输出到localhost.yyyy-mm-dd.log文件中。解决: 要在localhost.yyyy-mm-dd.log文件中看提示什么错误,有可能是配置的context目录不存在,有可能是多了一个>符号,具体问题,具体分析了。
步骤
6
:
Error FilterStart
顶
折
现象:404错误,明明有文件,但是就是不能访问。检验:这个严格地说,也是配置失败,但是tomcat不会大量报错,只会偷偷地来这么一句: startup failed due to previous errors。分析:过滤器启动失败就会报这个错。解决:同样的,过滤器启动失败原因也是多种多样,好在它都会把具体错误信息输出到localhost.yyyy-mm-dd.log,这样打开localhost.yyyy-mm-dd.log根据实际情况分析,就可以较快定位问题所在了。
步骤
7
:
JDK版本
顶
折
现象:404错误,明明有文件,但是就是不能访问。检验:在命令行中运行java -version 检查一下当前java的版本分析:当部署的web应用中的类是由高版本JDK编译生成,而当前tomcat运行所使用的JDK又是低版本的话,就会报出如图所示的错误:UnsupportedClassVersionError,进而导致web应用启动失败。解决:请使用JDK8或者更高版本,请参考 检测JDK版本,以及下载与配置
×Close
文件内容比较器
把你的代码复制到下面区域。 如果在线比较不好用,请使用客户端比较软件: diffmerge 下载和使用教程
关闭
×Close
复制代码
代码高亮插件双击即可选中,不过部分同学反应,通过代码高亮插件复制的代码无法在IDEA里正常显示,这里提供TEXTAREA的方式,方便复制,谢谢
关闭
×Close
做练习的正确姿势
1. 自行完成练习
根据练习目标尽量自己实现代码效果,期间会碰到疑问,难题,和自己不懂的地方,这些都是必要的过程
2. 带着疑问查看答案
完成过程中,碰到无法解决的问题,带着疑问,查看答案,分析答案的解决思路
3. 查看答案讲解视频
依然有不明白的地方,点开视频讲解,带着疑问,听视频讲解有问题的部分
4. 再做一遍
理解后,再从头做一遍,把有疑问的地方都捋清楚
5. 总结
最后再总结一遍,总结思路,总结解决办法,以后遇到类似的问题,怎么处理
关闭
×Close
Tomcat 启动和使用过程中的各种问题排查-总结笔记
把这时的想法,思路,研究都记录下来,等全部学完了,再回过头来巩固和理解,学习效果就会很好,知识点掌握得也牢固.
点击查看我的笔记
总结
代码
保存中预计需要秒
保存完成
保存失败,请联系站长
关闭
改端口
404问题排查
HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。
提问之前请登陆
关于
J2EE-Tomcat-Tomcat 问题排查
的提问
尽量提供截图、代码和异常信息,有助于分析和解决问题。
也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载:
http://how2j.cn/k/helloworld/helloworld-version/1718.html
上传截图
描述
代码
异常
威乐福(Velev)常见问题解决指南:卡顿、闪退、进不去全搞定
世界杯冰岛队阵容大曝光!多人业余球员出身,逼平阿根廷再成黑马