tomcat認識

tomcat的組件結構2007-05-23 18:11Tomcat是一個基於組件的服務器,它的構成組件都是可配置的,其中最外層的組件是Catalina Servlet容器,其他的組件按照一定的格式要求配置在這個頂層容器中。
Tomcat的各個組件是在<TOMCAT_HOME>\conf\server.xml文件中配置的,Tomcat服務器默認情況下對各種組件都有默認的實現,下面通過分析server.xml文件來理解Tomcat的各個組件是如何組織的。server.xml文件的基本組成結構如下。


 
<Server>                     頂層類元素:一個配置文件中只能有一個<Server>元素,可包含多個Service。
    <Service>                頂層類元素:本身不是容器,可包含一個Engine,多個Connector。
        <Connector/>         連接器類元素:代表通信接口。
           <Engine>   容器類元素:爲特定的Service組件處理所有客戶請求,可包含多個Host。
              <Host>    容器類元素:爲特定的虛擬主機處理所有客戶請求,可包含多個Context。
                 <Context>   容器類元素:爲特定的Web應用處理所有客戶請求。
                 </Context>
               </Host>
              </Engine>
     </Service>
</Server>
以上的類XML的代碼就是server.xml文件的基本組成結構,一個元素代表一個組件。下面分別介紹這些組件。
.1 Server組件
Server組件對應<Server>元素,它是配置文件的最頂層元素,代表一個服務器。一個配置文件中只能有一個<Server>元素。
.2 Service組件
Service組件是一些Connector組件的集合,它本身不是一個容器,所以在這裏不能定義日誌等組件。一個Service組件中只能有一個Engine組件,可以包含多個Connector組件。
.3 Connector組件
Connector組件表示一個接口,通過這個接口接收客戶的請求,然戶發送給其他的容器組件,最後再把服務器的響應結果傳遞給客戶。
.4容器類元素
上面介紹的3個組件本身並不能處理客戶請求,也不能生成響應。在Tomcat中只有3個組件是可以處理客戶請求並生成響應的,這3個組件分別是Engine、Host和Context組件。這3個組件分別代表了不同的服務範圍,通過嵌套關係可以知道3個組件的範圍有如下的關係:Engine>Host>Context。
    Engine組件下可以包含多個Host組件,它爲特定的Service組件處理所有客戶請求。
    一個Host組件代表一個虛擬主機,一個虛擬主機中可以包含多個Web應用(Context組件)。
    Context組件代表一個Web應用。
Tomcat的各個組件關係,可以用下圖描述。



 
 


一個Java Web application在Tomcat中與一個Context元素對應,也就是說一個Context元素定義了一個Java Web application,它們是一一對應的關係。
在一個Java Web應用中可以包含如下內容:
    Servlet
    JSP頁面
    Java類
    靜態資源(HTML文檔、圖片等)
    描述Web應用的描述文件
客戶每次提出請求時指定要訪問的資源,如果客戶沒有指定具體資源,Tomcat使用默認的資源響應客戶,顯示文件夾中的資源列表或者提示錯誤。


Tomcat6.0安裝、運行
2007-05-23 23:28
準備java運行環境
Tomcat6運行需要Java環境,需要先下載並安裝J2SE5.0以上的版本。
下載地址:http://java.sun.com/javase/downloads/index.jsp

注意:tomcat6.0已經不再需要jdk,而只要jre就可以了,因爲它採用了自帶的Eclipse JDT來編譯jsp,而不是jdk。

如果JDK是zip解壓,而不是install安裝的,請設置系統環境JAVA_HOME:
在桌面上右鍵點擊【我的電腦】,選擇【屬性】命令,在出現的對話框中選擇【高級】選項卡,然後單擊【環境變量】按鈕,添加一個環境變量:JAVA_HOME,它的值爲JDK所在根目錄(比如:c:\jdk,而不是c:\jdk\bin)

tomcat下載安裝
tomcat下載地址:http://tomcat.apache.org/
右側有從3.3到6.x各個版本的下載鏈接。

windows下tomcat的安裝很簡單,可以採用exe安裝包的方式進行安裝。基本上一路確定就可以了,安裝用到了java環境,從jdk的安裝註冊表或者JAVA_HOME這個系統變量裏面獲得jdk所在位置(這就是爲什麼非安裝的jdk需要配置JAVA_HOME的原因,當然在後面tomcat運行時也是需要的)。

安裝後的目錄如下:
c:\tomcat6.0
   |---bin
   |---conf
   |---lib
   |---logs
   |---temp
   |---webapps
   |---work

相比之前的版本,在bin和lib這兩個目錄改動比較大,bin目錄不再有一堆的bat文件,精簡爲4個文件。而jar文件統一放到新增的lib目錄下,先前版本中下面的3個目錄被刪除合併(參考tomcat5.0.28的結構):
common(含lib,classes,endorsed三個目錄)
share(含lib和classes兩個目錄)
server(含lib,classes,webapps三個目錄)
此外,examples增加了

啓動運行tomcat
安裝的最後一個步驟,可以選擇立即啓動;
默認情況下,是通過系統的服務進行啓動的,可以把啓動方式設置爲“自動”

命令行啓動:
tomcat/bin/tomcat6    或者tomcat/bin/tomcat6 //TS//tomcat6(注意大寫!下同) 二者是等價的。
其他的參數還有:
tomcat/bin/tomcat6 //RS//tomcat6 ---啓動tomcat6服務
tomcat/bin/tomcat6 //US//tomcat6 ---更新tomcat6服務參數
tomcat/bin/tomcat6 //IS//tomcat6 ---安裝tomcat6服務
tomcat/bin/tomcat6 //DS//tomcat6 ---刪除tomcat6服務

安裝後的bin目錄共有一下幾個文件:
bootstrap.jar
tomcat-juli.jar
tomcat6.exe
tomcat6w.exe
其中tomcat6w.exe是監控tomcat運行的,可以直接運行,或者縮小到屏幕右下角成爲一個小圖標。
直接運行tomcat6w.exe或者“tomcat6w //ES//” 都可以進入監控配置窗口;
或者運行“tomcat6w //MS//”把它縮小到右下角。

web訪問測試
啓動後,可以通過瀏覽器進行訪問,測試運行是否正常。
用IE或者Firefox等瀏覽器,輸入地址:
http://localhost:8080/       --如果安裝時修改了端口,請把8080用修改後的值替換。
如果能夠正常瀏覽到tomcat歡迎信息,就是正確了,否則就要檢查安裝是否正確、防火牆的設置等。
經常遇到的一個問題是端口衝突,最常見的就是80端口被佔用,導致服務無法正常啓動。如果通過tomcat6 //TS//tomcat6來啓動,馬上就能夠發現提示信息。修改一下tomcat6\conf\server.xml中的端口就能夠解決。

通常使用80端口的有:
1. IIS服務器,因爲在windows服務器上,很多都安裝了IIS,而IIS默認的端口就是80.
2. skype即時聊天工具,skype的可以穿透防火牆的本領,也是通過佔用80端口實現的。

查看端口占用的命令:
進入windows命令行,輸入:
netstat -an
這個命令返回有4列:protocol協議、local address本機地址、foreign address來訪者地址、status狀態
瀏覽本機地址一列,可以看到當前主機對外服務的IP地址、端口都有哪些。
如果一臺機器有192.168.1.100和192.168.1.101兩個地址,那麼:
0.0.0.0:80表示這臺機器上所有80端口都被使用
127.0.0.1:80表示127.0.0.1的80被使用,但.100和.101IP地址的80還未使用。
192.168.1.100:80表示.100IP地址的80端口被使用
192.168.1.101:80表示.101IP地址的80端口被使用

想知道哪個程序使用了某個端口,可以通過天網防火牆或者是卡巴斯基獲得。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章