您的位置:首页技术文章
文章详情页

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

【字号: 日期:2023-06-12 15:17:19浏览:108作者:猪猪
目录
  • Tomcat的下载与安装
  • 关于Tomcat服务器的目录
    • startup.bat部分代码
    • catalina.bat部分代码
  • Tomcat服务器的运行最终步骤
    • 解决Tomcat服务器启动时在DOS命令窗口中的乱码问题
      • logging.properties文件
    • 总结

      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

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

      标签: Tomcat
      相关文章: