当前位置:   article > 正文

Windows安装Tomcat详解_tomcat windows安装

tomcat windows安装

Windows安装Tomcat详解

Tomcat简介:

  • Tomcat是Java中最著名的开源Web容器,简单易用且稳定性良好
  • Tomcat是符合Java EE标准的最小的Web容器
  • Tomcat是免费的,下载地址为:http://tomcat.apache.org/

Tomcat安装流程

1.下载

在这里插入图片描述

下载完成后,将其解压,得到的各目录如下图所示:

在这里插入图片描述

至此,Tomcat便是安装好了

2 . 配置

环境变量(JAVA_HOME 、 CATALINA_HOME 、Path)
Tomcat在运行时必须指定使用的JDK,由于我们可能下载了多个JDK版本,所以使用Tomcat前,必须配置好 JAVA_HOME,来指定我们需要使用哪一个JDK。(由于之前已经配置好了,在此不多赘述)
当配置好JAVA_HOME之后我们便可以启动Tomcat了,但只能在安装目录的bin目录下找到 startup.bat 双击启动,如果我们想使用命令行启动,则需要配置CATALINA_HOME 和 Path,
在系统变量中新建变量CATALINA_HOME,变量值为Tomcat安装路径。

此时,打开命令行,输入 startup 命令然后回车,如下所示:

C:\Users\pplsunny>startup
'CATALINA_OPTS' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Using CATALINA_BASE:   "D:\ProgramFiles\apache-tomcat-8.5.82"
Using CATALINA_HOME:   "D:\ProgramFiles\apache-tomcat-8.5.82"
Using CATALINA_TMPDIR: "D:\ProgramFiles\apache-tomcat-8.5.82\temp"
Using JRE_HOME:        "C:\Java\jdk1.8.0_341"
Using CLASSPATH:       "D:\ProgramFiles\apache-tomcat-8.5.82\bin\bootstrap.jar;D:\ProgramFiles\apache-tomcat-8.5.82\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
C:\Users\pplsunny>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这说明 Tomcat 服务器已经可以在命令行中正常启动了,我们可以在网址栏中输入 http://localhost:8080/ 来访问Tomcat服务器主界面(访问格式: 访问地址 :端口号)用来检验 Tomcat 是否安装配置成功

Tomcat启动、关闭方法:

  • 管理员身份打开cmd,进入 tomcat 目录下的 /bin,输入【startup.bat】指令,运行启动文件即可;
  • 关闭窗口,就相当于关闭本地 Tomcat 服务。

除了运行成功以外,当然也可能也会遇到某些异常,小编就遇到了这么一个,如下图所示:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

既然是环境变量加载不到,我们就简单概括的分析一下,Tomcat 在哪里需要加载JDK环境变量:

  • 先来看看 startup.bat 文件,因为 Tmocat 启动会第一个调用它, 然后startup.bat 调用了 catalina.bat
##  startup.bat
setlocal

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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • catalina.bat 则调用了 setclasspath.bat,额嗯,重点就在这里了!!
##  setclasspath.bat
set JAVA_HOME=C:\Java\jdk1.8.0_341
set JRE_HOME=C:\Java\jre1.8

rem Make sure prerequisite environment variables are set

rem In debug mode we need a real JDK (JAVA_HOME)
if ""%1"" == ""debug"" goto needJavaHome

rem Otherwise either JRE or JDK are fine
if not "%JRE_HOME%" == "" goto gotJreHome
if not "%JAVA_HOME%" == "" goto gotJavaHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

整个调用链路:启动文件startup.bat → catalina.bat → setclasspath.bat,setclasspath.bat 里读取系统的环境变量。

做程序员都知道的,配置系统的JAVA【环境变量】。如果“JAVA_HOME”和“JRE_HOME”本身为空,在系统变量中又找不到,就会出现标题中的问题,导致 Tomcat 启动失败。

解决办法:
我总结了2种解决方法,原理上是一致的,都是为了让Tomcat启动时能够加载到系统的JAVA环境变量。

方法1,是你搜同类问题时,其他博客中普遍介绍的一种,很直接很暴力很有效;
而方法2,我认为是最正统的从根本上解决问题的方法。

  1. 直接修改 setclasspath.bat 文件:
    因为启动 Tomcat 会调用 Tomcat 安装文件中的 “startup.bat”,“startup.bat” 调用了 “catalina.bat”,而它调用了 “setclasspath.bat”,而“setclasspath.bat” 会读取环境变量,因此只要在 “setclasspath.bat” 的开头手动声明环境变量即可;

set JAVA_HOME=C:\Java\jdk1.8.0_341
set JRE_HOME=C:\Java\jre1.8

  1. 配置JAVA的系统环境变量
    右键点击【我的电脑】→选择【属性】→找到【高级系统设置】→进入【环境变量】设置界面…

在这里,我们需要配置两个参数:JAVA_HOME 和 Path

JAVA_HOME:C:\Java\jdk1.8.0_341(你安装的JDK的磁盘路径)

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

配置完成以后,重新启动 Tomcat 即可,下面是启动成功的cmd日志,至于Tomcat日志会弹出新的终端显示。

控制台乱码问题

编辑tomcat8/conf目录下的logging.properties文件

加入:java.util.logging.ConsoleHandler.encoding = GBK

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/124343
推荐阅读
相关标签
  

闽ICP备14008679号