tomcat學習

一、tomcat總體介紹:
  1. 免費開放源代碼的web應用服務器;
  2. 單獨的web服務器使用,也可以和其它的web服務器配合使用,58:nginx+tomcat(nginx處理靜態資源,效率較高,可以處理幾萬到十萬的併發,tomcat是java web 容器,處理java資源,nginx與tomcat通過反向代理進行數據的流轉);
  3. tomcat實現了jsp與JNDI的api的實現,不包括其餘所有java EE api(java mail,JMS,JTA),tomcat不是一個完整的java EE服務器(折中方案,首先設計以簡單出發,其次Java EE 其它標準,都有專門的組件負責);
  4. tomcat由java編寫,所以有跨平臺性;
  5. tomcat運行需要JRE支持(Java編寫,所以運行必須需要JRE環境)。
二、業界地位:

  1. 市場佔有率高(58中:線上環境服務器使用tomcat,測試環境使用jetty,其與開發體系結合性較高);
  2. 輕量,啓動速度系統運行穩定;
  3. 代碼開源,可以定製化開發;
  4. 安裝配置簡單。
三、目錄結構

  1. /bin:可運行的二進制文件,腳本文件運行命令,tomcat環境變量的配置,啓動,停止,常用腳本等,其中有一個特殊的文件.jar文件,爲tomcat本身使用的文件,核心文件,放在此目錄下防止別人隨意引用更改;
  2. /conf:tomcat的配置文件;
  3. /lib:由於java開發,所以會引用第三方jar包,存放此目錄x;
  4. /logs:日誌文件,tomcat本身產生的日誌與web應用產生的日誌文件,一般出現問題應該首先查看xxxx.out日誌文件;
  5. /temp:運行時產生臨時文件的目錄,如上傳一個文件時,以流形式傳輸,上傳完成之前會生成一些臨時文件,失敗查看是否還有空間或讀寫權限;
  6. /webapps:存放java應用的目錄,默認存放在此目錄下
  7. /work:工作進行中,一些文件編譯成java文件,臨時放在此目錄下,如jsp開發,會先將一些jsp文件放在此目錄下。
四、tomcat整體架構


以上爲tomcat核心,也可以說爲tomcat的整體架構圖:
  1. server:代表爲一個應用服務器,爲tomcat;
  2. service:代表爲一個服務,一個server下可以有多個service組件,實際運用很少配置多個service組件,一個service組件下有且只能有一個Engin組件,可以有多個connector組件,可以有多個host組件,host組件下可以有多個context組件
  3. Engine:處理引擎組件,一個service下所有的請求都會通過Engine引擎;
  4. host:虛擬主機,web應用中的域名;
  5. Connector:連接器,tomcat此web應用服務器依靠connector與外界建立聯繫,其中有端口,對端口進行監聽,當收到一個tcp請求,經過connector包裝成request;
  6. context:真正的web應用,每次寫一個web應用,到tomcat中即爲context;
  7. pipeline:設計優美的地方,上行流與下行流通用的管道,管道可定製化,管道任意位置加上filter組件(程序員可以自己加的組件),每一層都可以加上程序員自己定義的filter組件,各個階段完全暴露給使用者,使用者可以在任何階段加上自己的filter組件,進行攔截或修改屬性等。
五、請求處理

紅色標記相當於一次請求的處理過程,當服務器將請求處理完成,原路返回響應。都通過管道流轉。以上設計爲典型的設計模式:責任鏈的設計模式。

六、tomcat安裝配置
配置文件:Server.xml,XML做配置,自描述語言,比較清楚,/conf目錄下



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