Tomcat学习笔记(一)——startup.bat 与shutdown.bat

最近在学习 张孝祥老师的Tomcat 视频, 算是后知后觉了吧,为了以后复习巩固,我把一些要点记下来。

操作系统:win7 旗舰版 64位

Tomcat 版本:apache-tomcat-7.0.23-windows-x64.zip (直接加压使用)

Tomcat 解压目录:D:\tomcat-7.0.23(“Tomcat 解压目录”  根据具体情况改变 )

一、 设置Tomcat 运行环境

Tomcat 运行需要设置JAVA_HOME 环境变量

JAVA_HOME 变量的设置方式有两种:

方法1.    在“计算机”  ——  右键点击  “属性”  —— 点击 “高级系统变量” ——  在 “高级”选项卡下  ——  点击“ 环境变量”   ——  在“系统变量”   下点击“新建” 按钮

输入“变量名” :JAVA_HOME

输入变量值:D:\jdk1.7.0_01 (这是我的JDK的安装目录)

然后一直点击确定按钮

方法2.    找到 D:\tomcat-7.0.23\bin  目录 下的  startup.bat  批处理文件,用文本方式打开

在第一行代码后面添加代码  set JAVA_HOME=D:\jdk1.7.0_01

如下:

@echo offset JAVA_HOME=D:\jdk1.7.0_01

二、环境变量测试:

运行cmd 下转到  D:\tomcat-7.0.23\bin   目录下运行  startup.bat

Tomcat 会弹出一个新的运行框,显示巴拉巴拉一堆运行状态回显,如果回显文字信息中没有错误和警告,说明 Tomcat  启动加载已经OK

浏览器运行:http://localhost:8080/   弹出漂亮的 Tomcat  主页面 说明Tomcat 运行成功

三、 startup.bat  批处理文件详解

提示:我是在cmd中,转到  D:\tomcat-7.0.23\bin  目录下运行 startup.bat ,所以我的当前工作目录为:D:\tomcat-7.0.23\bin ,以此目录为例进行详解

Tomcat 解压目录:D:\tomcat-7.0.23

@echo off					//此行命令效果:只显示下列命令执行结果,不显示命令本身
if "%OS%" == "Windows_NT" setlocal		//如果本机OS是windows_NT 则设置本机环境变量
rem Guess CATALINA_HOME if not defined		//为注释代码:判断 CATALINA_HOME 环境变量是否已经配置
set "CURRENT_DIR=%cd%"				//设置CURRENT_DIR 变量(当前工作目录)为:D:\tomcat-7.0.23\bin  
if not "%CATALINA_HOME%" == "" goto gotHome	//如果配置了 CATALINA_HOME 环境变量跳转执行 gotHome
set "CATALINA_HOME=%CURRENT_DIR%"          	 //如果没有设置,则设置 CATALINA_HOME 变量为:D:\tomcat-7.0.23\bin  
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome //查看"当前工作目录\bin" 目录(即D:\tomcat-7.0.23\bin\bin)下是否存在catalina.bat 文件,如存在跳转okHome
cd ..					//回到上级子目录,即:D:\tomcat-7.0.23 ,此时当前工作目录已经更改为:D:\tomcat-7.0.23
set "CATALINA_HOME=%cd%" 		// 更改 CATALINA_HOME 变量值为:D:\tomcat-7.0.23
cd "%CURRENT_DIR%"			//切换至当前工作目录:D:\tomcat-7.0.23

 

:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome			//如果找得到 catalina.bat 批处理文件,则跳转okHome
echo The CATALINA_HOME environment variable is not defined correctly    //找不到catalina.bat文件,显示错误信息,然后结束
echo This environment variable is needed to run this program       	//在cmd执行startup.bat的当前目录不为:“tomcat解压目录”和“tomcat解压目录\bin”时会提示此错误信息
goto end
//由此可见 catalina.bat 才是真正的执行 Tomcat 启动和关闭的批处理程序
//在执行startup.bat时,如果startup.bat 文件不在 ”Tomcat解压目录“或者“Tomcat解压目录\bin” 目录下
//才会提示CATALINA_HOME 错误信息  
:okHome
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"   //至此catalina.bat文件已经确定存在了,现在设置 EXECUTABLE (执行文件)环境变量
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec      	 //如果EXECUTABLE 变量已经设置成功,跳转okExec执行
echo Cannot find "%EXECUTABLE%"                //否则提示找不到catalina.bat 执行文件
echo This file is needed to run this program
goto end
:okExec
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=   				 //清除CMD_LINE_ARGS环境变量原来的值
:setArgs
if ""%1""=="""" goto doneSetArgs		 //如果第二个参数为空跳转doneSetArgs,即已经接完了传入的参数  
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1   		 //给 CMD_LINE_ARGS 添加参数,并以空格隔开
shift                         			 //截掉第一个参数,使第二个参数变为第一个参数
goto setArgs
//  以上5行代码的作用就是将所有参数用空格间隔开,并赋值CMD_LINE_ARGS
:doneSetArgs
call "%EXECUTABLE%" start %CMD_LINE_ARGS%  	//打开新窗口,执行 EXECUTABLE 环境变量所代表的catalina.bat 批处理文件与 CMD_LINE_ARGS 代表的参数
:end						//结束


 

总结:

1.    startup.bat 的作用主要是检查catalina.bat 执行所需环境,并调用catalina.bat 批处理文件

2.   shutdown.bat 文件与 startup.bat 文件的内容只有一点不同,即倒数第二行代码,通过修改执行参数 start  为stop  并交由catalina.bat 执行实现Tomcat 的关闭功能

补充:

1.   rem

代码前面有 rem :所修饰的代码是注释说明文字

2.   @

代码前面有  @  :所修饰的代码执行时,只显示执行结果,不显示命令本身

 

你可能感兴趣的:(Tomcat)