😸个人主页👉:神兽汤姆猫
💕如果此篇文章对您有帮助的话,请点赞、转发、收藏这对我有很大的帮助。
前言
Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。
当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。它具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,Tomcat目前最新版本为Tomcat10。
Tomcat下载
在阅读此文章前,请首先确认你是否下载安装配置Java环境,如果未安装,请看此教程:Java/JDK下载、安装与环境变量配置超详细教程(2022更新)保姆级,秒会
首先我们先进入官网进行下载:
如上图所示:点击左侧导航菜单,选择需要的相应版本,即可跳转。具体版本对应下载链接我已整理完毕,请按需选择对应的版本。
Tomcat官网 | 👉Tomcat官网链接 |
Tomcat11(beta) | Apache Tomcat 11 官网下载地址👉:Apache Tomcat 11 官网下载地址 |
Tomcat10 | |
Tomcat9 | |
Tomcat8 |
以上此链接可以下载Tomcat11——Tomcat8,如需下载Tomcat以往版本(包括小版本),请访问此链接进行下载:
Tomcat历史版本下载地址 |
此处结合实用性,将以最新的Tomcat10版本为例,进行演示,其他版本操作同理,一样跟着步骤走即可(Tomcat11已发布,但为beta版,不建议使用)。
注意:在 Tomcat 9 及更早版本上运行的应用程序将无法在 Tomcat 10 上运行,除非进行更改。
PS:如果你是Java8则选择10.0版本及以下,切勿选择10.1及以上版本,这将会出现Tomcat无法启动的情况。本文使用的10.0的最后一个10.0.27版本,故可以使用Java8进行启动。
进入Tomcat10链接,如下图所示,根据自己当前所属系统,选择下载哪一项。
此处作者以受众面最广的Windows系统为示例,进行演示:
我们将其下载下来,解压下载的压缩包至本地无中文,无特殊字符的,纯英文的路径下,如下图所示:(此处你也可以参考我的目录)
Tomcat目录结构
我们下载解压了Tomcat之后,需要对其有个基本的认识,来帮助我们更好的学习使用Tomcat。
如果此时你时间着急的话,那么建议直接跳过学习目录结构这一章,进入Tomcat的配置与测试。但是这一章是极其重要的,我的个人建议是你一定需要挑个时间来学习这一章节。
如果你下载正确的话,大概的目录结构是和下图差不多的:
我们从第一个目录开始逐个了解,只需了解其的基本用处即可。
🔖bin文件夹🌟:存放Tomcat的命令、脚本等文件,其中以.sh结尾的是Linux/Mac OS系统使用命令的。以.bat结尾的则是Windows系统的命令使用的。其他的为通用项。
我们也可以在此处启动和关闭Tomcat,例如在Windows系统下,startup.bat则可以启动Tomcat,shutdown.bat则可以关闭Tomcat。Linux和Mac OS同理,它们可以运行startup.sh,shutdown.sh用来启动和关闭Tomcat。catalina.bat/catalina.sh则可以设置Tomcat的内存。
🔖conf文件夹🌟:存放Tomcat的配置文件等。例如:server.xml文件可以设置端口号、域名、IP、编码等也可以将日志配置到其他目录等 。tomcat-user.xml文件则用来管理配置Tomcat的用户与权限,context.xml用来配置数据源等
🔖lib文件夹:存放Tomcat运行时所必须的JAR包文件。注意的是JAR文件只可以被Tomcat服务器所访问。
🔖logs文件夹:默认日志文件存放的目录,对于我们后期的排查起到非常重要的作用。需要注意的是,如果你是Windows系统,它将存放在以年月日命名的文件中,例如:catalina.2022-11-08.log。如果你是Linux/Mac OS系统,它将存放在catalina.out文件中。
🔖temp文件夹:用来存放Tomcat的运行时的临时文件用。
🔖webapps文件夹🌟:用来存放web应用和部署项目的目录,Tomcat启动时会加载此目录下的项目应用。
在服务器上部署web项目时,只需将项目war包放入Tomcat中的webapps文件下后重启Tomcat之后war包会自动解压,此时访问项目的地址是IP+端口+项目名称就可以正常访问项目。而webapps文件夹中还有个默认的ROOT目录如下图所示:
我们同样可以将项目的war包解压后放入ROOT目录,同样可以运行该项目。需要注意的是放在ROOT目录下之后访问项目方式就会变成:IP+端口号。
而两者的区别就是放在webapps文件夹中不需要解压,放在ROOT文件夹中需要解压。放在webapps文件夹中访问项目需要加项目名 ,放在ROOT文件夹中不需要加项目名 。
我们将来启动Tomcat看到的cat页面的文件是存放在ROOT文件夹下的,如果我们将ROOT文件夹删除,再次启动Tomcat依旧会自动生成。
🔖work文件夹:存放Tomcat运行时所编译之后的文件,如需清除Tomcat缓存,可以选择清空此目录,重启Tomcat即可。
Tomcat配置环境变量
在下载解压和简单的了解Tomcat目录结构之后,我们就要开始为其配置变量的操作了,请执行如下步骤:
此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->新建 |
如图所示:
此时我们输入如下内容:(注意:变量值设置为你解压的目录,以下是我的解压目录,将其更改为你的目录即可)
变量名:CATALINA_HOME
变量值:D:\Programming\Apache\Tomcat\apache-tomcat-10.0.27
效果如图所示:(再次强调,变量值设置为你Tomcat解压的文件夹!!)
我们继续执行如下步骤:
此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->找到Path变量--->编辑--->新建 |
如下图所示:
此时我们输入如下内容:
%CATALINA_HOME%\bin
效果如图所示:
然后一直点击保存,关闭所有窗口即可。
启动Tomcat
执行如下步骤:
Win+R---->输入CMD----->运行cmd.exe---->输入如下命令启动Tomcat: |
startup.bat
如果启动成功,则如下图所示:
虽然此时我们启动成功了,但是发现唉?怎么乱码了?这并不是我们的问题,我们也没有配置错误,这是由于编码格式的不统一所造成的,这并不影响我们实际的使用,如果需要修改,请执行如下操作。
Tomcat启动界面乱码解决方法
打开我们解压的Tomcat文件夹,找到conf文件夹下的logging.properties文件,使用VSCode或者记事本打开进行编辑更改。这里建议使用VScode,因为我们可以利用它的搜索功能进行快速的查看编辑,只需Ctrl+F查找我们需要的代码段,即可快速定位到位置。
关于VScode请看此文章:VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了
按Crtl+F搜索:java.util.logging.ConsoleHandler.encoding快速定位到代码段
如下图所示:
此时默认的为UTF-8,我们只需将其更改为GBK编码即可。
java.util.logging.ConsoleHandler.encoding = GBK
更改之后如图所示:
此时,我们再次启动Tomcat,即可发现乱码问题已经解决,效果如下图所示:
测试Tomcat
此时,不要关闭上述步骤的界面,保持Tomcat的启动。打开浏览器,输入:http://localhost:8080/ 进行测试,或者输入http://127.0.0.1:8080/ 进行本地测试。如果出现如下图所示,则代表你以配置成功。
Tomcat常见报错
报错1:404
如下图所示:
解决方法:
请仔细确认你是否配置完毕环境变量,Tomcat是必须要配置的,切勿懒惰
Tomcat默认端口为8080端口,如果你使用了其他的东西,可能会占用这个端口,那么此时就可以通过更改Tomcat默认的端口号解决此问题。关于如何解决端口占用问题,请执行如下步骤:
-
打开解压的压缩文件夹,找到conf文件夹下的server.xml配置文件,可以使用记事本或者VSCode打开进行修改,如图所示:
-
-
-
将此代码段修改为如下,此处的端口号8082可任意指定,都可以,按照自己的情况来。
<Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
-
-
此时访问http://localhost:8082/ 或者 http://127.0.0.1:8082/ 进行测试,如果出现官网的样式,即可访问成功。
报错2:Tomcat无法启动
如果在命令行输入startup.bat无法启动,一个页面很快的闪一下,无反应,则需检查自己的Java版本,根据反馈Java8版本目前用10.0版本无异常,如果是10.1版本则会无法启动。也可选择Tomcat9或者Tomcat8大版本选择。
其他常见报错...
如果还发生其他报错,请检查自己的Java系统变量以及Tomcat的系统变量是否设置正确,关于如何设置Java环境变量请移步此文章:Java/JDK下载、安装与环境变量配置超详细教程(2024更新)保姆级,秒会
其他报错问题待更新...
💕如果此篇文章对您有帮助的话,请点赞、转发、收藏这对我有很大的帮助。