Tomcat 配置與用法

2022-06-06 13:27:08 字數 4526 閱讀 5377

簡介:tomcat是apache下開源的輕量級web應用伺服器,即乙個jsp/servlet容器,tomcat作為應用程式伺服器——請求來自於前端的web伺服器,比如nginx、apache等,tomcat作為獨立伺服器——請求來自於web瀏覽器;

一、基礎知識

1. tomcat目錄介紹

a. /bin:存放啟動和關閉tomcat指令碼;

b. /conf:存放各種的配置檔案,server.xml、web.xml和context.xml等;

c. /lib:存放tomcat執行時需要的庫檔案;

e. work:存放jsp編譯後產生的.calss檔案;

2. tomcat處理http請求過程

示例:http://localhost:8080/wsota/wsota_index.jsp

a. 請求被傳送到本機埠8080上,被在那裡偵聽的coyote http/1.1 connector獲得,connector的主要任務是負責接收瀏覽器發過來的tcp連線請求,建立乙個request和response物件,用於和請求端交換資料,然後產生乙個執行緒來處理這個請求並把產生的request和response物件傳給處理這個請求的執行緒;

b. connector聯結器把該請求交給它所在的service的engine來處理,並等待來自engine的回應;

c. engine獲得請求/wsota/wsota_index.jsp,匹配它所擁有的所有虛擬主機host;

d. engine匹配到名為localhost的host,若匹配不到就把請求交給預設host處理;

e. localhost host獲得請求/wsota/wsota_index.jsp,匹配它所擁有的所有context;

f. host匹配到路徑為/wsota的context,如果匹配不到就把該請求交給路徑名為」"的context去處理;

h. context匹配到url pattern為*.jsp的servlet,對應於jspservlet類;

i. 構造httpservletrequest物件和httpservletresponse物件,作為引數呼叫jspservlet的doget或dopost方法;

j. context把執行完了之後的httpservletresponse物件返回給host;

k. host把httpservletresponse物件返回給engine;

l. engine把httpservletresponse物件返回給connector;

m. connector把httpservletresponse物件返回給客戶browser。

3. 作為servler容器的工作模式分類

a. 獨立的servlet容器;

b. 程序內的servlet容器;

c. 程序外的servlet容器。

二、servlet.xml配置檔案

1. 組織結構

2. server元件

a. 是唯一頂層元素,代表整個tomcat容器,tomcat會啟動乙個jvm,可包含多個service元素,不同的service監聽不同的埠;

b. 作用是提供乙個介面讓客戶端能夠訪問到這個service集合,同時維護它所包含的所有的service的宣告週期,包括如何初始化、如何結束服務、如何找到客戶端要訪問的service;

c. shutdown屬性表示關閉server的指令,port屬性表示server接收關閉指令的埠號,預設僅允許通過本機訪問。

<

server

port

="8005"

shutdown

="shutdown"

>

3. service元件

a. 是把connector聯結器和engine引擎關聯在一起,每個聯結器通過乙個特定的埠和協議接收入站請求交將其**至關聯的引擎進行處理;

b. service可以包含多個connector聯結器,但是只能含乙個engine引擎;

c. name屬性表示服務的名稱。

<

service

name

="catalina"

>

4. connector元件

a. 將在某個指定埠上偵聽客戶請求,建立request和response物件用於和請求端交換資料,然後分配執行緒讓engine來處理這個請求,從engine處獲得回應並返回客戶;

b. connector聯結器分為http、ssl、ajp、proxy四種;

c. port屬性表示監聽的埠

protocol屬性表示聯結器使用的協議,預設的協議為http,使用的協議與tomcat版本有關,預設協議http/1.1,含義如下:在tomcat7中,自動選取bio或apr,在tomcat8中,自動選取nio或apr

acceptcount:accept佇列的長度,預設值100,當連線的個數達到最大值,則進來的請求一律被拒絕

maxconnections:tomcat在任意時刻接收和處理的最大連線數,當tomcat接收的連線數達到maxconnections時,acceptor執行緒不會讀取accept佇列中的連線;這時accept佇列中的執行緒會一直阻塞著,直到tomcat接收的連線數小於maxconnections

maxthreads:請求處理執行緒的最大數量,預設值200,如果該connector繫結了executor,這個值會被忽略;

5. engine元件

a. engine是service元件中的請求處理元件,有且僅有乙個,可以包含多個host,每個虛擬主機都有乙個網域名稱;

b. 當engine獲得乙個請求時,它把該請求匹配到某個host上,然後把該請求交給該host來處理,若沒有匹配到,則交給預設的host處理;

c. defaulthost屬性指定了預設的host名稱,name屬性用於日誌和錯誤資訊記錄時區分不同的引擎;

<

engine

defaulthost

="localhost"

name

="catalina"

>

6. host元件

a. host代表引擎中的乙個虛擬主機,可以有多個host,可包含多個 context,其中乙個name屬性值必須與engine中defaulthost屬性值匹配;

b. 可執行多個web應用(乙個context代表乙個web應用),並負責安裝、展開、啟動和結束每個web應用;

<

host

autodeploy

="true"

name

="localhost"

unpackwars

="true"

>

7. context元件

a. context代表在特定虛擬主機上執行的乙個web應用,乙個web應用由乙個或多個servlet組成;

<

context

docbase

path

="/rhxy"

reloadable

="false"

/>

host

>

三、tomcat虛擬目錄對映

1. 定義:虛擬目錄對映是指若想對外提供web應用訪問,就需要把web應用所在目錄交給web伺服器管理的過程;

2. 對映方式

a. 在server.xml檔案的host元素中配置context元素,缺點是檔案修改後,需要重啟伺服器才會生效;

<

host

autodeploy

="true"

name

="localhost"

unpackwars

="true"

path

="/web"

reloadable

="false"

/>

host

>

c. 在tomcat伺服器的/conf/catalina/localhost目錄下新增乙個以.xml作為副檔名的檔案,優點是修改配置檔案後,不用重啟tomcat;

xml version="1.0" encoding="utf-8"

?>

<

context

path

=""docbase

reloadable

="false"

/>

3.  web應用組成結構

可參考:tomcat的server檔案配置詳解

詳解tomcat的連線數與執行緒池

手寫簡易版tomcat

Tomcat安裝與配置

3 接下來開始配置環境變數,開啟環境變數,然後新建三個系統變數 tomcat home e tomcat 6.0.39 catalina home e tomcat 6.0.39 catalina base e tomcat 6.0.39 在classpath中最後新增 tomcat home li...

Tomcat 安裝與配置

本文簡要介紹tomcat的安裝與配置。訪問官網 2 配置環境變數 catalina home。變數值為tomcat解壓後的所在資料夾。3 啟動tomcat資料夾下的bin資料夾裡的starup.s 件,出現例如以下窗體 注意不要關掉該窗體。4 開啟瀏覽器,輸入 localhost 8080,出現例如...

Apache與tomcat的配置

我的配置環境 1.ibm t23膝上型電腦 2.apache2.0.53 3.tomcat5.5.9 4.在c apache mymodules下新建乙個配置檔案workers.properties,其內容為 worker.list worker1 worker.worker1.type ajp13...