Tomcat中文手冊(1)_轉(zhuǎn)
發(fā)表時間:2024-06-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Jakarta-Tomcat 簡明中文版用戶指南第一部分 本文檔提供關(guān)于Tomcat的基礎(chǔ)信息.主要內(nèi)容如下:Tomcat二進(jìn)制版本安裝與Tomcat相關(guān)的腳本的主要內(nèi)容與server.xml相關(guān)的主要內(nèi)容,Tomcat的主要配置文件如何設(shè)置Tomcat與宿主web服務(wù)器一起工作的說明如何應(yīng)用To...
Jakarta-Tomcat 簡明中文版用戶指南第一部分
本文檔提供關(guān)于Tomcat的基礎(chǔ)信息.主要內(nèi)容如下:
Tomcat二進(jìn)制版本安裝
與Tomcat相關(guān)的腳本的主要內(nèi)容
與server.xml相關(guān)的主要內(nèi)容,Tomcat的主要配置文件
如何設(shè)置Tomcat與宿主web服務(wù)器一起工作的說明
如何應(yīng)用Tomcat配置一個現(xiàn)實中的web站點
希望此文檔足以使新用戶可以開始使用Tomcat.如找不到某方面的內(nèi)容請(按以下順序)
查找Tomcat faq
查找Tomcat包清單
向Tomcat用戶郵件列表發(fā)出問題
如此疑問的答案不存在,我們鼓勵把對疑問的解答放入Tomcat faq或此文檔.如對此文檔有意見或建議,請發(fā)送到Tomcat的郵件列表.
Getting Started
Tomcat是一個帶有jsp環(huán)境的servlet容器.servlet容器是一個根據(jù)用戶的行為可以管理和激活servlet的運行時的shell.
粗略地可以將servlet容器分為如下幾類:
獨立的servlet容器
內(nèi)置有web服務(wù)器的一部分.指當(dāng)使用基于Java的web服務(wù)器的情形,例如servlet容器是JavaWebServer的一個部分. 獨立的servlet容器是Tomcat的默認(rèn)模式.
大多數(shù)的web服務(wù)器并非基于Java,因此,我們可以得出如下兩種容器的模式.
進(jìn)程內(nèi)的servlet容器
servlet容器作為web服務(wù)器的插件和Java容器的實現(xiàn).Web服務(wù)器插件在內(nèi)部地址空間打開一個JVM(java virtual machine)使Java容器得以在內(nèi)部運行.如有某個需要調(diào)用servlet的請求,,插件將取得對此請求的控制并將他傳遞(使用JNI)給Java容器.進(jìn)程內(nèi)容器對于多線程,單進(jìn)程的服務(wù)器非常合適并且提供很好的運行速度,但伸縮性有所不足.
進(jìn)程外的servlet容器
servlet容器運行于web服務(wù)器之外的地址空間且作為web服務(wù)器的插件和Java容器的實現(xiàn)的結(jié)合.web服務(wù)器插件和Java容器 JVM使用IPC機制(通常是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既可作為獨立的容器(主要是用于開發(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)在可以運行TOMCAT并作為一個獨立的Servlet容器(模式一)
啟動與關(guān)閉Tomcat
使用”bin”目錄中的腳本啟動與關(guān)閉Tomcat.
啟動:
uinx:bin/startup.sh
win32:bin\startup
關(guān)閉:
unix:bin/shutdown.sh
win32:bin\shutdown
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)實現(xiàn)的空接口和抽象類
webapps
包含web項目示例
此外你可以Tomcat會創(chuàng)建如下目錄:
work
Tomcat自動生成,放置Tomcat運行時的臨時文件(如編譯后的JSP文件).如在Tomcat運行時刪除此目錄.JSP頁面將不能運行.
classes
你可以創(chuàng)建此目錄來添加一些附加的類到類路徑中.任何你加到此目錄中的類都可在Tomcat的類路徑中找到自身.
Tomcat的腳本
Tomcat是一個Java程序,因此在設(shè)置好幾個環(huá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,它按以下步驟運行:
在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文件.
運行帶有設(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下的步驟:(略)
由此可見,win32版的tomcat.bat與Unix版的幾乎一致.尤其在它不推測TOMCAT_HOME和JAVA_HOME的值,并且不將所有的jar文件放入類路徑中.
Tomcat的配置文件
Tomcat的配置基于兩個配置文件:
1.server.xml - Tomcat的全局配置文件
2.web.xml - 在Tomcat中配置不同的關(guān)系環(huán)境
這一部分將講述如何使用這些文件.我們不會包含web.xml的內(nèi)部機制,這些內(nèi)部機制深入到了Servlet API的細(xì)節(jié),因此,我們將討論涵蓋servler.xml內(nèi)容及web.xml在Tomcat關(guān)系環(huán)境中的用法.
server.xml
server.xml是Tomcat的主配置文件.完成兩個目標(biāo):
1 提供Tomcat組件的初始配置.
2 說明Tomcat的結(jié)構(gòu),含義,使得Tomcat通過實例化組件完成起動及構(gòu)建自身, 如在server.xml所指定的
下表描述server.xml種的重要元素: