通過本章,讀者將會看到:
· Tomcat的基本概念
· 如何讓Tomcat和IIS一起工作
· 如何讓Tomcat和Apache一起工作
· 如何設(shè)定JSP的虛擬目錄
· 如何將Tomcat設(shè)為Windows服務(wù)運(yùn)行
Jakarta-Tomcat概貌
綜述:Tomcat是一個帶有JSP環(huán)境的servlet容器。servlet容器是一個根據(jù)用戶的行為可以管理和激活servlet的運(yùn)行時的shell。
我們可以粗略地將servlet容器分為如下幾類:
獨(dú)立的servlet容器
內(nèi)置有web服務(wù)器的一部分。指使用基于Java的web服務(wù)器的情形,例如servlet容器是JavaWebServer的一個部分。獨(dú)立的servlet容器是Tomcat的默認(rèn)模式。
然而,大多數(shù)的web服務(wù)器并非基于Java。因此,我們可以得出如下兩種容器的模式:
進(jìn)程內(nèi)的servlet容器
servlet容器作為web服務(wù)器的插件和Java容器的實(shí)現(xiàn)。Web服務(wù)器插件在內(nèi)部地址空間打開一個JVM(Java virtual machine)使Java容器得以在內(nèi)部運(yùn)行。如有某個需要調(diào)用servlet的請求,插件將取得對此請求的控制并將它傳遞(使用JNI)給Java容器。進(jìn)程內(nèi)容器對于多線程、單進(jìn)程的服務(wù)器非常合適并且提供很好的運(yùn)行速度,但伸縮性有所不足。
進(jìn)程外的servlet容器
servlet容器運(yùn)行于web服務(wù)器之外的地址空間且作為web服務(wù)器的插件和Java容器的實(shí)現(xiàn)的結(jié)合。web服務(wù)器插件和Java容器 JVM使用IPC機(jī)制(通常是TCP/IP)進(jìn)行通訊。當(dāng)一個調(diào)用servlet的請求到達(dá)時,插件將取得對此請求的控制并將其傳遞(使用IPC等)給 Java容器,進(jìn)程外容器的反應(yīng)時間或進(jìn)程外容器引擎不如進(jìn)程內(nèi)容器,但進(jìn)程外容器引擎在許多其他可比的范圍內(nèi)更好(伸縮性、穩(wěn)定性等)。
Tomcat既可作為獨(dú)立的容器(主要是用于開發(fā)與調(diào)試),又可作為對現(xiàn)有服務(wù)器的附加(當(dāng)前支持Apache、IIS和Netscape服務(wù)器)。所以在配置Tomcat時,必須決定如何應(yīng)用它,如果選擇第二或第三種模式,還需要安裝一個web服務(wù)器接口。
Tomcat與Jserv有何區(qū)別?Tomcat是Jserv嗎?
這是個常見的誤解。Jserv是Servlet API2.0兼容并與Apache一起使用的容器。Tomcat是一個完全重寫的并與Servlet API2.2和JSP1.1兼容的容器。
另外,Tomcat使用了一些為Jserv而寫的代碼,特別是Jserv的Apache接口,但這是唯一的相同之處。
怎樣安裝Tomcat的二進(jìn)制版本?
非常簡單,只需:下載 zip/tar.gz 任何壓縮文件,從http://jakarta.apche.org/download/binindex.html處解壓縮此文件到某目錄(如: foo),將會生成一子目錄,名為"tomcat",轉(zhuǎn)換到"tomcat"目錄設(shè)置一新的環(huán)境變量(TOMCAT_HOME)指向你安裝的tomcat 的目錄:
WIN32平臺,鍵入: set TOMCAT_HOME=foo/tomcat
Unix平臺:
如是bash/sh環(huán)境,鍵入:TOMCAT_HOME=foo/tomcat;export TOMCAT_HOME"
如是tcsh環(huán)境,鍵入:setenv TOMCAT_HOME foo/tomcat
設(shè)置環(huán)境變量JAVA_HOME指向你JDK的目錄,然后添加JAVA解釋器到你的PATH環(huán)境變量。
好了!現(xiàn)在可以運(yùn)行TOMCAT并作為一個獨(dú)立的Servlet容器(模式一)
啟動與關(guān)閉Tomcat
使用"bin"目錄中的腳本啟動與關(guān)閉Tomcat。
啟動:
uinx:bin/startup.sh win32:binstartup |
關(guān)閉:
unix:bin/shutdown.sh win32:binshutdown Tomcat目錄結(jié)構(gòu) |
假設(shè)讀者已將Tomcat解壓,這時將得到下列目錄結(jié)構(gòu):
目錄名 | 描述 |
bin | 包含啟動/關(guān)閉腳本。 |
conf | 包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和為不同的Tomcat配置的web應(yīng)用設(shè)置缺省值的文件web.xml。 |
doc | 包含各種Tomcat文檔。 |
lib | 包含Tomcat使用的jar文件。unix平臺此目錄下的任何文件都被加到Tomcat的classpath中。 |
logs | Tomcat擺放日志文件的地方。 |
src | ServletAPI源文件。先別高興,這里只有些必須在Servlet容器內(nèi)實(shí)現(xiàn)的空接口和抽象類。 |
webapps | 包含web項(xiàng)目示例。 |
work | Tomcat自動生成,放置Tomcat運(yùn)行時的臨時文件(如編譯后的JSP文件),如果在Tomcat運(yùn)行時刪除此目錄.JSP頁面將不能運(yùn)行。 |
classes | 你可以創(chuàng)建此目錄來添加一些附加的類到類路徑中,任何你加到此目錄中的類都可在Tomcat的類路徑中找到自身。 |
Tomcat的腳本
Tomcat是一個Java程序,因此在設(shè)置好幾個環(huán)境變量后即可用命令行的方式運(yùn)行。然而設(shè)置Tomcat使用的每個環(huán)境變量和如下的命令行參數(shù)乏味且容易出錯。因此,Tomcat開發(fā)組提供了一些腳本使啟動和關(guān)閉Tomcat變得非常輕松。
注意:這些腳本僅僅是個便利的方法去啟動和關(guān)閉Tomcat。你可修改他們來定制CLASSPATH,環(huán)境變量如PATH、LD_LIBRARY_PATH等等,只要是生成一個正確的命令行即可。
這些腳本是什么呢?下面列出對一般用戶最重要的腳本。
Tomcat:主腳本。設(shè)置合適的環(huán)境變量,包括CLASSPATH、TOMCAT_HOME以及JAVA_HOME和用適合的命令行參數(shù)啟動Tomcat 。
startup :在后臺啟動Tomcat。它是"tomcat start"命令的替換方式。
shutdown :關(guān)閉Tomcat。它是"tomcat stop"命令的替換方式。
對用戶最重要的腳本是tomcat(tomcat.bat/tomcat.sh)。其他Tomcat相關(guān)的腳本作為一個簡單的面向單任務(wù)的指向Tomcat腳本(設(shè)置不同的命令行參數(shù)等)的入口。
仔細(xì)考察tomcat.bat/tomcat.sh,它按以下步驟運(yùn)行:
在Unix下的步驟:
如未指定,推測 TOMCAT_HOME
如未指定,推測 JAVA_HOME
設(shè)置CLASS_PATH包含:
1.${TOMCAT_HOME}/classes目錄(如果存在)
2.${TOMCAT_HOME}/lib的一切內(nèi)容
3.${JAVA_HOME}/lib/tools.jar(此jar文件包含工具Javac,我們需要Javac處理jsp文件)
運(yùn)行帶有設(shè)定Java環(huán)境變量的命令行參數(shù)的Java命令,調(diào)入tomcat.home和 org.apache.tomcat.startup.Tomcat 作為啟始類。同時也傳遞命令行參數(shù)到org.apache.tomcat.startup.Tomcat ,例如:執(zhí)行start/stop/run 等的操作。另外,此Tomcat進(jìn)程使用指向server.xml的路徑,例如server.xml放置于etc/server_1.xml并且用戶意圖在后臺啟動apache,鍵入如下命令行:
bin/tomcat.sh start -f /etc/server_1.xml
win32版的tomcat.bat與Unix版的幾乎一致。尤其在它不推測TOMCAT_HOME和JAVA_HOME的值,并且不將所有的jar文件放入類路徑中。
Tomcat的配置文件
這一部分將講述如何使用配置文件server.xml和web.xml。我們不會包含web.xml的內(nèi)部機(jī)制,這些內(nèi)部機(jī)制深入到了Servlet API的細(xì)節(jié),因此,我們將討論涵蓋這兩個配置文件在Tomcat關(guān)系環(huán)境中的用法。
Tomcat的配置基于兩個配置文件:
1.server.xml - Tomcat的全局配置文件,完成兩個目標(biāo):
(1)提供Tomcat組件的初始配置
(2)說明Tomcat的結(jié)構(gòu)、含義,使得Tomcat通過實(shí)例化組件完成啟動及構(gòu)建自身。
結(jié)構(gòu)、含義的說明是通過元素來實(shí)現(xiàn)的,下面將描述這些元素。
Server:server.xml文件中最重要的元素。Server定義了一個Tomcat服務(wù)器。一般讀者不用對它擔(dān)心太多。Server元素能包含Logger和ContextManager元素類型。
Logger:此元素定義一個Logger對象,每個Logger都有一個名字去標(biāo)識,也有一個紀(jì)錄Logger的輸出和冗余級別(描述此日志級別)和包含日志文件的路徑,通常有servlet的Logger(ServletContext.log()處),JSP和Tomcat運(yùn)行時的Logger。
ContextManager:它說明了一套ContextInterceptor、RequestInterceptor、Context和它們的Connectors的配置及結(jié)構(gòu)。ContextManager有幾個隨同提供的特性:
a.用來紀(jì)錄調(diào)試信息的調(diào)試級別
b.webapps/、conf/、logs/和所有已定義的環(huán)境的基本位置。用來使Tomcat可以在TOMCAT_HOME外的其他目錄啟動。
c.工作目錄的名字
ContextInterceptor&RequestInterceptor:這些偵聽器(interceptors)偵聽具體發(fā)生在 ContextManager中的事件,例如,ContextInterceptor偵聽Tomcat的啟動及終止事件, RequestInterceptor監(jiān)視在它服務(wù)過程中用戶請求需要通過的不同階段。Tomcat的管理員不必知道太多關(guān)于偵聽器的知識;另外,開發(fā)者應(yīng)該知道這是如何在Tomcat中實(shí)現(xiàn)一個"全局"型的操作(例如安全性及每個請求日志) 。
Connector:表示一個到用戶的聯(lián)接,不管是通過web服務(wù)器或直接到用戶瀏覽器(在一個獨(dú)立配置中)。Connector負(fù)責(zé)管理Tomcat的工作線程和讀/寫連接到不同用戶的端口的請求/響應(yīng)。Connector的配置包含如下信息:
a.句柄類
b.句柄監(jiān)聽的TCP/IP端口
c.句柄服務(wù)器端口的TCP/IP的backlog
Context:每個Context提供一個指向你放置你Web項(xiàng)目的Tomcat的下屬目錄。每個Context包含如下配置:
a.Context放置的路徑,可以是與ContextManager主目錄相關(guān)的路徑
b.紀(jì)錄調(diào)試信息的調(diào)試級別
c.可重載的標(biāo)志。開發(fā)Servlet時,重載更改后的Servlet,這是一個非常便利的特性
2.web.xml--在Tomcat中配置不同的關(guān)系環(huán)境
有一個和Tomcat有關(guān)的小"特性"與web.xml有關(guān)。Tomcat可以讓用戶通過將缺省的web.xml放入conf目錄中來定義所有關(guān)系環(huán)境的web.xml的缺省值。建立一個新的關(guān)系環(huán)境時,Tomcat使用缺省的web.xml文件作為基本設(shè)置和應(yīng)用項(xiàng)目特定的web.xml(放在應(yīng)用項(xiàng)目的WEB-INF/web.xml文件)來覆蓋這些缺省值。
如何將Tomcat裝入IIS
IIS,即Internet Information Server,是微軟公司提供的一種功能強(qiáng)大的Web服務(wù)器,它對ASP有著很好的支持,這一點(diǎn)相信很多讀者都已經(jīng)知道。現(xiàn)在,JSP已經(jīng)流行起來,如何才能讓IIS支持該技術(shù)呢?讀者將會從本節(jié)得到答案。
一、安裝環(huán)境Windows 2000、IIS 5.0
Tomcat 3.1下載地址
http://jakarta.apache.org/builds/tomcat/release/v3.1/bin/
isapi_redirect.dll下載地址
http://jakarta.apache.org/builds/tomcat/release/v3.1/bin/win32/i386/
放到{TOMCATHOME}\bin\iis\i386\isapi_redirect.dll
二、先要保證Tomcat可以正確執(zhí)行
三、將下面的begin和end之間的Jakarta.reg文件裝入機(jī)器,我的Tomcat裝在c:\\jakarta-tomcat,你可根據(jù)自己的環(huán)境修改Jakarta.reg文件
Jakarta.reg: ---begin--- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "extension_uri"="/jakarta/isapi_redirect.dll" "log_file"="c:\\jakarta-tomcat\\logs\\isapi.log" "log_level"="debug" "worker_file"="c:\\jakarta-tomcat\\conf\\workers.properties" "worker_mount_file"="c:\\jakarta-tomcat\\conf\\uriworkermap.properties" ---end--- |
四、按照上文配置IIS,以作者的經(jīng)驗(yàn)安裝好isapi_redirect.dll后,需要重新啟動機(jī)器(重啟IIS不好使),實(shí)在不行的話再裝一次。
五、啟動tomcat,然后在IE中鍵入http://baryon/examples/,看一下效果如何,沒有用8080端口也可以用jsp和 servlet了。注意不啟動tomcat,光有IIS是不行的。再注意http://baryon/examples/最后的"/"一定要有,否則會找不到的。
如何在windows 9x環(huán)境下配置Apache + Tomcat?
如果讀者使用的是windows 9x操作系統(tǒng),那么讀了下文后,建立自己的JSP運(yùn)行環(huán)境,將變得十分簡單。
系統(tǒng)配置如下:
windows 98(NT主要是環(huán)境變量的設(shè)法不同,和下面程序的設(shè)置無關(guān))
jdk1_2_2.exe apache_1_3_9_win32.exe ApacheModuleJServ.dll tomcat.zip(3.1) |
一、安裝
1.安裝JDK1.2.2,并將jdk1.2.2的目錄加入到環(huán)境變量PATH中(Autoexec.bat);
2.安裝apache_1_3_9_win32.exe;
3.將ApacheModuleJServ.dll拷到Apache所在目錄的modules子目錄中;
4.安裝Tomcat 3.1(解壓并拷到某個目錄中);
此時所需部件都已經(jīng)安裝完畢,以下是配置過程。
二、配置
1.首先編輯Apache的conf子目錄下的http.conf文件使其能正常運(yùn)行并配合自己的機(jī)器配置
2.設(shè)置以下環(huán)境變量(可以放在autoexec.bat中):
SET TOMCAT_HOME=C:\PROGRA~1\Tomcat
(注:此時如果有Windows風(fēng)格目錄,一定要寫成DOS下目錄格式,不然容易出問題)
SET JAVA_HOME=C:\PROGRA~1\jdk1.2.2
3.打開TOMCAT的conf子目錄下的tomcat.conf文件,將以下行前的注釋去掉:
LoadModule jserv_module modules/ApacheModuleJServ.dll
再將對應(yīng)LINUX的類似一行用注釋屏蔽掉。 /
4、打開apache的httpd文件,在最后加入一行:
include c:/progra~1/tomcat/conf/tomcat.conf
三、啟動與測試:
1.首先啟動apache,此時如果正確,應(yīng)當(dāng)顯示為:
Apache/1.3.9 (Win32) tomcat/1.0 running...
2.進(jìn)入到tomcat的執(zhí)行目錄(bin)。
注一:此目錄如果為windows風(fēng)格目錄,一定要用windows目錄表示法進(jìn)入,如:progra~1 一定要寫為program files
注二:通常要求執(zhí)行命令的運(yùn)行環(huán)境變量大小為4096
3.用tomcat.bat start或tomcat.bat run啟動tomcat,此時應(yīng)當(dāng)可以看到正確輸出的classpath,說明Tomcat啟動成功!
4.在瀏覽器中輸入http://localhost/examples/,此時應(yīng)當(dāng)可以看到server返回的三個目錄列表。點(diǎn)擊其中JSP的就可以看到示例了。
只要用官方站下載的程序,照上述幾步應(yīng)當(dāng)能正確啟動JSP環(huán)境,接下來的問題就是如何加入context以便映射到自己的工作目錄,請讀者參考1.2.5節(jié)。
如何在Windows NT 4.0下安裝Apache + Servlet + JSP
環(huán)境配置一向是比較煩的一件工作!本節(jié)的目的就是要輕松為讀者搞定NT下安裝和配置SERVLET和JSP的執(zhí)行環(huán)境。
首先,到Java.apache.org去下載一個tomcat3.1或tomcat3.2。下載的是一個ZIP文件。將它解壓到一個目錄下面。比如 c:\下面。在c盤下面就會出現(xiàn)一個jakatar-tomcat的目錄。讀者可以將這個目錄改個名字,假設(shè)改為tomcat。現(xiàn)在打開c:\ tomcat\conf目錄下的server.xml文件。找到ContextManager標(biāo)簽,將可以看到:
<Connector className="org.apache.tomcat.service.SimpleTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.http. HttpConnectionHandler"/> <Parameter name="port" value="80"/> </Connector> |
因?yàn)閠omcat可以作為一個獨(dú)立的服務(wù)器使用,所以有它自己的端口號。在這里可以修改它缺省的端口號,而該號在本機(jī)未被占用。假設(shè)改成9000。
現(xiàn)在到c:\tomcat\bin目錄下面,讀者可以看到一個startup.bat的批處理文件。在執(zhí)行這個文件前,如果你用的是JDK1.2.1或 JDK1.2.2的話,請將JDK_HOME\LIB\tools.jar這個文件放到classpath中去。(注:設(shè)置classpath的方法:右鍵單擊"我的電腦"->選擇屬性->環(huán)境,如果還沒有classpath這個環(huán)境變量,就添加一個,如果有了就在它的基礎(chǔ)上修改,加上JDK_HOME\LIB\tools.jar)。
現(xiàn)在可以執(zhí)行startup.bat這個文件了。(如果在執(zhí)行時出現(xiàn)out of environment space的提示,就將DOS窗口的緩沖區(qū)大小開得大些。具體作法:在DOS 窗口的菜單中的屬性-> 內(nèi)存 -> 總共和初始環(huán)境改大點(diǎn))
在執(zhí)行完后,startup.bat會在另一個窗口打開start tomcat。打開瀏覽器,在地址欄中輸入:http://localhost:9000/
然后回車。這時應(yīng)該看到了一只jakatar-tomcat。現(xiàn)在在地址欄鍵入: http://localhost:9000/examples/servlet/,回車,應(yīng)該看到一個servlet的index的頁面,點(diǎn)擊其中的例子servlet看看吧。現(xiàn)在在地址欄鍵入http://localhost:9000/examples/jsp/,回車,讀者也會看到一個類似剛才 servlet index頁面的一個頁面,點(diǎn)擊jsp的例子看看吧。如果在點(diǎn)擊了一個JSP的例子后出現(xiàn)500的錯誤,如果沒有別的錯誤信息,在IE5的工具菜單-> Internet選項(xiàng)->高級,把顯示友好的HTTP錯誤的選項(xiàng)去掉,然后IE就會報(bào)出具體的出錯信息。原因是你沒有將tools.jar放到 classpath中去。
現(xiàn)在要將tomcat連接到apache上去了。首先到www.apache.org上去下載一個 Apache Web Server。再到Java.apache.org上去下載一個Jserv。先安裝Apache Web Server(比如安裝在c:\apache目錄下面)。安裝完后需要修改c:\apache\conf\httpd.conf文件,找到 Servername,修改為自己喜歡的名字,找到port,修改為未被占用的端口。再安裝Jserv(比如安裝在c:\Jserv目錄下面)。安裝 Jserv需要指定JVM所在的目錄,你可以指定JDK_HOME\BIN目錄。需要指定JSDK所在目錄。(實(shí)際上它要找的是servlet.jar這個文件,你可以指定tomcat\lib\servlet.jar試一試)
這時候?qū)嶋H上Apache已經(jīng)支持Servlet了,但還不支持JSP。所以還需修改c:\apache\conf\httpd.conf文件。用文本編輯器打開httpd.conf,在文件最后加上: Include "Tomcat_Home\conf\tomcat-apache.conf"。(請注意,tomcat-apache.conf這個文件是在 tomcat運(yùn)行后由tomcat自動產(chǎn)生的。所以要先開tomcat,再打開Apache)
現(xiàn)在先啟動tomcat(c:\ tomcat\bin\startup.bat),當(dāng)出現(xiàn)了另一個窗口后,啟動Apache(c:\apache\bin\apache.exe或者通過開始菜單->程序->Apache Web Server->Start Apache啟動)。如果此時通過后者啟動Apache,有一個DOS窗口一閃后就消失了,說明對Apache+JServ+tomcat的配置還有問題,應(yīng)該通過第一種方法啟動Apache,此時能在屏幕上看到具體的出錯信息。
如果出錯信息是:apj* : can't be specified more than once per host。(*號代表一些字符串,比如ApJServLogLevel等等),就要修改c:\Jserv\conf\jserv.conf文件,將 apj*的相關(guān)行注釋掉就可以,可能需要注釋5-6行。如果Apache也正常啟動的話,現(xiàn)在你可以在地址欄鍵入http://localhost: apache_port/examples/servlet/ 來通過Apache+tomcat調(diào)試Servlet,這里apache_port是Apache的端口號,可以通過修改c:\apache\conf\ httpd.conf這個文件修改端口號;在地址欄鍵入http://localhost:apache_port/examples/jsp/ 來調(diào)試JSP。
怎樣設(shè)置JSP的虛擬目錄?
如果讀者細(xì)心的話,會發(fā)現(xiàn)前面測試用的都是examples\jsp目錄。現(xiàn)在就講一下怎么創(chuàng)建自己的工作目錄。
首先在d:\tomcat\webapps(假定安裝目錄為d:\tomcat)目錄下面創(chuàng)建myweb目錄,接著在myweb目錄下面創(chuàng)建jsp目錄和classes目錄。然后用文本編輯器打開d:\tomcat\conf目錄下面的server.xml,查找到<ContextManager>標(biāo)簽,并在該標(biāo)簽的結(jié)束標(biāo)簽</ContextManager>前面加上:
<Context path="/myweb" docBase="webapps/myweb" debug="0" reloadable="true" > </Context> |
其中path的值是虛擬目錄,docbase的值是你的硬盤的的目錄的絕對路徑。
然后將d:\tomcat\webapps\myweb\classes目錄放到classpath這個環(huán)境變量中去。用文本編輯器編輯下面這個文件。
<html> <body> <% for(int i=1;i<3;i++){ out.println("<h" + i + ">Hello World</h" + i + ">"); } %> </body> </html> |
存為c:\tomcat\webapps\myweb\jsp\helloworld.jsp。
在地址欄鍵入:http://localhost:apache_port/testdir/jsp/helloworld.jsp 看看結(jié)果吧。
再測試一下Servlet。用文本編輯器編輯下面這個文件。
import Java.io.*; import Java.text.*; import Java.util.*; import Javax.servlet.*; import Javax.servlet.http.*; public class HelloWorld extends HttpServlet { |
存為c:\tomcat\webapps\myweb\classes\HelloWorld.Java,用Javac編譯后,在地址欄鍵入 http://localhost:apache_port/testdir/servlet/HelloWorld 看看結(jié)果吧。
如何設(shè)定Tomcat作為Windows的服務(wù)而啟動?
上面我們已經(jīng)談到,要使用Tomcat作為Web服務(wù)時,必須先手工啟動Tomcat,這顯然不是一個適合Tomcat作為Web服務(wù)的方法,在 Linux下可以通過修改啟動腳本自動啟動Tomcat,在Windows下則可以設(shè)定Tomcat作為Windows的服務(wù)而啟動。
我們可以借助工具,使Tomcat作為Windows NT/2000的一個服務(wù):
一、下載工具,這里作為例子的是gservany--將NT下的一般應(yīng)用程序作為服務(wù)運(yùn)行的工具。下載網(wǎng)址為http: //www.advok.com/gservany.html。將zip文件解壓縮,將gservany.exe放入winnt\system32下
二、在NT/2000的command下輸入:gservany -i tomcat "C:\Jakarta-tomcat\bin" "startup.bat" "C:\Jakarta-tomcat\bin" "shutdown.bat"。其中C:\Jakarta-tomcat為Tomcat的安裝目錄。
三、啟動service管理器,會看到tomcat service被裝上。