您的位置:首页 > 运维架构 > Tomcat

大专生JAVA这条路---tomcat与web程序结构

2010-03-23 21:01 399 查看
      今天自学了 X老师的课堂录制视频,虽然以前也曾用TOMCAT开发的软件,特别刚开始从事JAVA Web 环境变量的配置都只知道要配置!以前都是跟着课本上的步骤配置TOMCAT的环境变量,而也没有问过为什么要这样配置。因为我们搞JAVA的初级人员对.bat中的命令不通!今天在老师的讲解下,对.bat执行也有了初步的理解,对配置也就豁然开朗了@!因此,我也不得不承认,这儿的培训的确比当今大多数的培训机构都牛!但这并不能说明什么,因为在实际的开发的,或者根本不需要。

1.TOMCAT 为什么要配置环境变量

    对tomcat 安装目录下 bin/startup.bat 批处理文件代码的理解:

每一条批处理语句相当于一条DOS下的命令

  

@echo off  --------->DOS在运行批处理时,会依次执行批处理中的每条命令,并且  会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”,当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

  ┝------------------------->rem 表示后面的是注释

rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 908749 2010-02-10 23:26:42Z markt $
rem ---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined

设置CURRENT_DIR 为当前目录
set "CURRENT_DIR=%cd%" 

 

如果CATALINA_HOME为 空去执行 gotHome

if not "%CATALINA_HOME%" == "" goto gotHome

 

设置环境变量为变量CURRENT_DIR的值

set "CATALINA_HOME=%CURRENT_DIR%"

 

如果"%CATALINA_HOME%/bin/catalina.bat 文件存在 goto okHome

if exist "%CATALINA_HOME%/bin/catalina.bat" goto okHome

 

回到上一级目录
cd ..

 

设置环境变量为变量为当前路径

set "CATALINA_HOME=%cd%"

 

 

相当于DOS下的cd 命令
cd "%CURRENT_DIR%"

 

gotHome 程序块
:gotHome

 

如果下面的批处理文件存在 goto okHome
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

goto end

 

之后的语句意思都差不多,不在备注
:okHome

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

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
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=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

:end

    

从以上可知,会调用/bin/catalina.bat批处理问题,而在catalina 批处理文件中又会执行setclasspath.bat 批处理文件。其中引用到环境变量:"%CATALINA_HOME%

"%JAVA_HOME%",如果CATALINA_HOME未设置时,将bin/startup.bat 以快捷键的方式移动到其它目录试图启动tomcat 将会失败。而JAVA_HOME则是寻找到JAVA类路径的途径。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息