Tomcat安装教程及常见错误解决方法
Tomcat安装教程及常见错误解决方法
一、安装前准备
·熟悉自己电脑的操作系统版本(32位or64位)
以便之后选择合适的安装包
·保证电脑上已经装好JDK,并且已经设置好环境变量。
注:JDK版本与Tomcat版本要相匹配,否则会出现闪退的问题。如:Tomcat9不支持JDK12.0、12.0+、1.7+版本。
二、Tomcat安装教程(以Tomcat9为例)
·访问Tomcat官网
https://tomcat.apache.org/
·下载与自己电脑系统兼容的压缩包

Windows系统就下载zip类型的安装包,tar类型的是Linux系统的

下载路径一般选择除C盘之外的其他盘符(如D、E、F),安装路径一定要记住,并切记路径中不要出现中文和个别特殊字符,点击下载

·解压并指定安装目录进行安装

安装成功后如图所示:

·配置环境变量
此过程提醒大家一定要谨慎!!!
首先右击我的电脑——>属性会显示如下界面,在这里,可能有的人桌面上我的电脑只是一个快捷方式,按此方法并不会出现下图界面,这时候可以Win+E打开文件资源管理器,在里边找到我的电脑,再右击——>属性即可。然后点击——>高级系统设置——>环境变量


接下来新建系统变量,过程如图所示:(涉及到的变量名及变量值可以有选择的复制)

变量名:CATALINA_HOME(通用)
变量值:Tomcat的安装路径,我的是D:\Tomcat\apache-tomcat-9.0.30-windows-x64\apache-tomcat-9.0.30
在这里给大家提一个输入路径的小技巧:打开Tomcat所在的文件,复制上边路径栏即可,不用手动输入

然后还要修改一下已存在的系统变量Path,过程如下图:


这时要将光标移动到行末(直接按一下End键即可),添加内容:%CATALINA_HOME%\bin,此时,要留意一下,若原本行末没有分号,在添加之前要先加一个分号(英文输入),最后行末有无分号都可以。


至此,Tomcat的安装就结束啦,接下来就到了检验成果的阶段了。其实我觉得,往往这个时候是最折磨人的时候了,因为即使按照过程一步步安装,也不免会报一些千奇百怪的错误,别急,我将我验证时发生的错误以及解决办法也都记录下来啦,如果大家也有类似情况,直接试一下下文的解决方法就OK啦!
·验证是否安装成功
第一步:两种方法,结果相同,若出现下图所示黑框则成功
一种是直接找到Tomcat安装文件下的bin目录,找到startup.bat文件,双击即可


另一种是Win+R键打开运行窗口,输入cmd,回车,然后再弹出的黑框中输入startup.bat,回车即可


第二步:注意此时已经运行出来的黑框不能关,在保持Tomcat开启的情况下,在浏览器中访问http://localhost:8080,若出现下图界面,则表示安装成功。

当然,我这里使用的是谷歌浏览器,有自动翻译功能,他会提示你安装成功,一般浏览器都是全英文显示的额
三、常见错误及解决方法
·验证时黑框一闪而过
可能原因:
1.版本问题,JDK版本与Tomcat版本不匹配
解决方法:这时就需要重新下载安装配置一下不同版本的Tomcat了。
2.启动时申请不到足够的内存
具体解决方法可参考https://www.cnblogs.com/zzmb/p/8258364.html
·验证时提示'startup' 不是内部或外部命令,也不是可运行的程序或批处理文件
可能原因:
1.环境变量配置问题,导致系统找不到startup.bat文件,从而无法正确运行
解决方法:重新检查一下环境变量配置是否准确
2.bin目录下startup.bat文件丢失
解决方法:重新安装一下Tomcat
·验证成功后弹出窗口上的中文乱码(如图所示)

解决方法:找到tomcat目录下的/conf/logging.properties并使用记事本打开
添加语句:java.util.logging.ConsoleHandler.encoding = GBK并保存
重启tomcat即可

·startup.bat可以正常运行但无法访问http://localhost:8080网站
可能原因:
1.访问网站时Tomcat处于关闭状态,切记,在访问网站时一定要保证Tomcat开启,否则无法访问。
2.webapps目录下ROOT文件缺失
解决方法:需要重新下载一下Tomcat,再将Root文件复制到webapps目录下
·运行startup.bat时显示Neither the JAVA_HOME nor the JRE_HOME environment ......
解决方法:找到tomcat\bin目录下的setclasspath.bat,用记事本打开,添加JDK的路径即可
set JAVA_HOME=你的JDK安装路径

四、疑惑
·tomcat是否需要配置环境变量
安装过程中,错误百出,通过百度了解到其他大佬的解决方法后,才将问题一一解决,不过在搜索过程中也看到有关tomcat是否需要配置环境变量的讨论,这一下就把我整蒙了,到底怎么就不用配置环境变量了,一般在网站上下载的都需要配置好环境变量才可以正常使用啊,哎,脑壳疼额
·tomcat配置环境变量时为什么有CATALINA_HOME和CATALINA_BASE之分,它们有何区别?
通过查阅资料发现,CATALINA_HOME(安装目录):指向公用信息的位置,就是bin和lib的父目录。CATALINA_BASE(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。当在做文件上传时,上传文件到服务器上,需要在根目录下创建一个文件夹,需要使用CATALINA_BASE获取根目录。由于目前我还未实践,所以理解起来有些难度,总之,CATALINA_BASE环境变量的配置是不必要的,若在今后的使用中出现问题时,再探求解决方案吧。
五、心得
假期实在闲的发慌,但又不想不想自己每天过得浑浑噩噩的,所以就想用博客来记录自己的学习和收获历程,身为一个刚入门的小白,不论是在写随笔、排版、还有内容深度上都有很大的提升空间,这是我的第一篇博客,希望大家可以批评指正。如果对本文有哪些纠正或补充的,大家尽管提,我一定会虚心接受并改正的,希望我们都可以在分享中进步。
Tomcat安装教程及常见错误解决方法的更多相关文章
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...
- jack server 常见错误解决方法【转】
本文转载自:https://blog.csdn.net/qq_27061049/article/details/70156200 jack 服务常见错误解决方法 当你编译Android时,你不需要修改 ...
- Hbase常见错误解决方法
Hbase常见错误解决方法 原文转载至:https://www.jianshu.com/p/5fd74812c56c 我是通过maven管理的依赖,直接修改maven依赖中hbase的版本就可以了 ...
- Spark程序运行常见错误解决方法以及优化
转载自:http://bigdata.51cto.com/art/201704/536499.htm Spark程序运行常见错误解决方法以及优化 task倾斜原因比较多,网络io,cpu,mem都有可 ...
- C#常见错误解决方法
1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...
- 用Rvm安装Ruby,Rails运行环境及常见错误解决方法
一.安装Rvm 1.下载安装Rvm $ curl -L https://get.rvm.io | bash -s stable 此时可能出现错误:"gpg: 无法检查签名:找不到公钥&quo ...
- virtualbox下centos虚拟机安装增强工具教程和常见错误解决
VirtualBox 4.3.6上安装CentOS 6.5 https://my.oschina.net/tashi/blog/190060 错误1.Building the main Guest A ...
- Mac 安装 homebrew 流程 以及 停在 Updating Homebrew等 常见错误解决方法
懒人操作顺序:S_01>>>S_02>>>S_03 首先这是homebrew的官网 https://brew.sh/index_zh-cn 安装方法是在终端中输入 ...
- 2022年最新最详细的tomcat安装教程和常见问的解决
文章目录 1.官网直接下载 1.1.jdk的版本和tomcat版本应该相对应或者兼容 1.2. 在官网找对应的tomcat版本进行下载 1.3 .根据电脑版本下载64-bit windows zip( ...
随机推荐
- 侠说java8--Stream流操作学习笔记,都在这里了
前言 首次接触到Stream的时候以为它是和InputStream.OutputStream这样的输入输出流的统称. 流和集合的前世今生 概念的差异 在开发中,我们使用最多的类库之一就是集合.集合是一 ...
- 求1-n 中与 m 互质的素因子 (容斥原理)
ll prime[100]; ll cnt; void getprime(){ cnt = 0; ll num = m; for(ll i = 2; i*i <= m; i++){ // sqr ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...
- form get
<form action=""> <input type="text" name="query" id="&qu ...
- C++模板编程与宏编程经验谈
C++模板编程与宏编程经验谈 有人说C 与C++的不同主要是因为C++支持模板,不要说区别是面向对象化编程,因为C同样能很好的实现对象化编程,面向对象化其实只是思想,在很多语言中都能实现,区别在于实现 ...
- [DP][SA][可持久化线段树]黑红兔
源自 xyz32768 菜鸡的 FJ 省冬令营模拟赛题 原题 CF1063F Statement 给定一个长度为 \(n\) 的字符串 \(s\),仅包含小写英文字母 要从中从左往右选出若干段不相交的 ...
- 机器学习- Sklearn (交叉验证和Pipeline)
前面一节咱们已经介绍了决策树的原理已经在sklearn中的应用.那么这里还有两个数据处理和sklearn应用中的小知识点咱们还没有讲,但是在实践中却会经常要用到的,那就是交叉验证cross_valid ...
- UidGenerator springboot2集成篇
uid-generator 官网集成文档: https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md 由于并没有提供spri ...
- ffifdyop——绕过中一个奇妙的字符串
根据师傅们的博客总结如下: ffifdyop 经过md5加密后:276f722736c95d99e921722cf9ed621c 再转换为字符串:'or'6<乱码> 即 'or'66� ...
- STM32学习笔记:基础例子
本例子代码参考了STM32库开发实战指南中的代码,由于使用的板子是尚学STM32F103ZET6,为了配合板上已有资源,也参考了其配套代码.为了便于书写文本,我尽量将代码都写到了一个文件中,这种方式是 ...