Tomcat服务器的配置与启动全过程

Tomcat是Apache软件基金会的一个开源免费的项目 , 它是一个轻量级WEB服务器 , 体积小 , 运行速度快(只实现了Servlet+JSP规范)

Tomcat还有另外一个名字:catalina(catalina是美国的一个岛屿,据说作者是在这个风景秀丽的小岛上开发了一个轻量级的WEB服务器)

tomcat的logo是一只公猫(寓意表示Tomcat服务器是轻巧的)

Tomcat的安装包是绿色版 , 安装很简单,直接zip包解压即可。解压就是安装。

我有一个好习惯,在D盘的根目录下新建一个dev目录,java开发所有相关的工具都安装到dev目录下,这样比较方便管理。

关于Tomcat服务器的目录

目录存放的文件
bin这个目录是Tomcat服务器的命令文件存放的目录 , 如启动Tomcat,关闭Tomcat相关的bat命令文件和shell命令文件
conf这个目录是Tomcat服务器的配置文件存放目录(server.xml文件中可以配置端口号,默认Tomcat端口是8080)
lib这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是Java语言编写的,这里的jar包里面都是class文件
logsTomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件
tempTomcat服务器的临时目录。存储临时文件
webapps这个目录当中就是用来存放大量的webapp项目(web application:web应用)
work这个目录是用来存放JSP文件翻译之后的java文件以及编译之后的class文件
  • 关于bat批处理文件: bat文件是windows操作系统专用的,这种文件中可以编写大量的windows的dos命令,执行bat文件就相当于批量的执行dos命令
  • 关于shell批处理文件: sh文件是Linux操作统专用的 , 在Linux环境下能够执行的是shell命令,大量的shell命令编写在shell文件当中,执行shell文件就相当于批量的执行shell命令
  • Tomcat服务器提供了bat和shell命令文件,说明了Tomcat服务器的通用性

分析startup.bat文件得出,执行这个命令,实际上最后是执行:catalina.bat文件

startup.bat文件的执行需要CATALINA_HOME环境变量和catalina.bat文件

startup.bat部分代码

<!---startup.bat文件的执行需要CATALINA_HOME环境变量和catalina.bat文件->
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome

set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

catalina.bat文件中有这样一行配置:MAINCLASS=org.apache.catalina.startup.Bootstrap (这个类就是main方法所在的类)

catalina.bat文件的执行需要JAVA_HOME环境变量

catalina.bat部分代码

<!---catalina.bat文件的执行需要JAVA_HOME环境变量-->
rem   JAVA_HOME       Must point at your Java Development Kit installation.
rem                   Required to run the with the "debug" argument.
rem
rem   JRE_HOME        Must point at your Java Runtime installation.

set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
set SECURITY_POLICY_FILE=
set DEBUG_OPTS=
set JPDA=

Tomcat服务器既然是Java语言写的,那么启动Tomcat服务器就是执行main方法

  • 执行startup.bat文件 ----> 执行catalina.bat文件 -----> 执行org.apache.catalina.startup.Bootstrap类的main方法 ---->Tomca服务器启动成功

从 startup.bat文件 和 catalina.bat文件的内容可以得出 , 启动Tomcat服务器只把bin目录中的相关的命令文件配到PATH目录下是不行的 , **还需要配置CATALINA_HOME 和 JAVA_HOME 两个环境变量 **

  • JAVA_HOME=JDK的根 (Tomcat是java语言写的所以想要运行Tomcat服务器,必须先有jre)
  • CATALINA_HOME=Tomcat服务器的根
  • PATH=%JAVA_HOME%\bin;%CATALINA_HOME%\bin (在DOS命令窗口可以执行相关的命令文件)

Tomcat服务器的运行最终步骤

启动Tomcat: bin目录下有一个 startup.bat 文件,执行它可以启动Tomcat服务器 , 执行启动命令时可以省略.bat的后缀

测试Tomcat服务器是否启动成功

打开浏览器,在浏览器的地址栏上输入URL: http://127.0.0.1:8080

关闭Tomcat:bin目录下有一个 shutdown.bat 文件 , 通过它可以关闭Tomcat服务器 , 执行关闭命令时不可以省略.bat的后缀

因为shutdown命令和windows中的关机命令冲突 , 所以建议将shutdown.bat文件重命名为stop.bat ,这样就可以省略.bat的后缀

解决Tomcat服务器启动时在DOS命令窗口中的乱码问题

将CATALINA_HOME/conf/logging.properties文件中的内容修改如下:java.util.logging.ConsoleHandler.encoding = GBK

logging.properties文件

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
(1)
上一篇 2023-03-21 10:03
下一篇 2023-03-21 10:05