Tomcat的目錄結構 解析


l  bin:該目錄下存放的是二進制可執行文件,如果是安裝版,那么這個目錄下會有兩個exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下啟動Tomcat,后者是彈出UGI窗口啟動Tomcat;如果是解壓版,那么會有startup.bat和shutdown.bat文件,startup.bat用來啟動Tomcat,但需要先配置JAVA_HOME環境變量才能啟動,shutdawn.bat用來停止Tomcat;

l  conf:這是一個非常非常重要的目錄,這個目錄下有四個最為重要的文件:

  • server.xml:配置整個服務器信息。例如修改端口號,添加虛擬主機等;下面會詳細介紹這個文件;
  • tomcatusers.xml:存儲tomcat用戶的文件,這里保存的是tomcat的用戶名及密碼,以及用戶的角色信息。可以按着該文件中的注釋信息添加tomcat用戶,然后就可以在Tomcat主頁中進入Tomcat Manager頁面了;
  • web.xml:部署描述符文件,這個文件中注冊了很多MIME類型,即文檔類型。這些MIME類型是客戶端與服務器之間說明文檔類型的,如用戶請求一個html網頁,那么服務器還會告訴客戶端瀏覽器響應的文檔是text/html類型的,這就是一個MIME類型。客戶端瀏覽器通過這個MIME類型就知道如何處理它了。當然是在瀏覽器中顯示這個html文件了。但如果服務器響應的是一個exe文件,那么瀏覽器就不可能顯示它,而是應該彈出下載窗口才對。MIME就是用來說明文檔的內容是什么類型的!
  • context.xml:對所有應用的統一配置,通常我們不會去配置它。

l  lib:Tomcat的類庫,里面是一大堆jar文件。如果需要添加Tomcat依賴的jar文件,可以把它放到這個目錄中,當然也可以把應用依賴的jar文件放到這個目錄中,這個目錄中的jar所有項目都可以共享之,但這樣你的應用放到其他Tomcat下時就不能再共享這個目錄下的Jar包了,所以建議只把Tomcat需要的Jar包放到這個目錄下;

l  logs:這個目錄中都是日志文件,記錄了Tomcat啟動和關閉的信息,如果啟動Tomcat時有錯誤,那么異常也會記錄在日志文件中。

l  temp:存放Tomcat的臨時文件,這個目錄下的東西可以在停止Tomcat后刪除!

l  webapps:存放web項目的目錄,其中每個文件夾都是一個項目;如果這個目錄下已經存在了目錄,那么都是tomcat自帶的。項目。其中ROOT是一個特殊的項目,在地址欄中沒有給出項目目錄時,對應的就是ROOT項目。http://localhost:8080/examples,進入示例項目。其中examples就是項目名,即文件夾的名字。

l  work:運行時生成的文件,最終運行的文件都在這里。通過webapps中的項目生成的!可以把這個目錄下的內容刪除,再次運行時會生再次生成work目錄。當客戶端用戶訪問一個JSP文件時,Tomcat會通過JSP生成Java文件,然后再編譯Java文件生成class文件,生成的java和class文件都會存放到這個目錄下。

l  LICENSE:許可證。

l  NOTICE:說明文件。

 

 

配置文件server.xml 解析

l  <Server>:根元素,表示整個服務器的配置信息;

l  <Service>:<Server>的子元素,在<Server>中只能有一個<Service>元素,它表示服務;

l  <Connector>:<Service>的子元素,在<Service>中可以有N個<Connector>元素,它表示連接。

l  <Engine>:<Service>的子元素,在<Service>中只能有一<Engine>元素,該元素表示引擎,它是<Service>組件的核心。

l  <Host>:<Engine>的子元素,在<Engine>中可以有N個<Host>元素,每個<Host>元素表示一個虛擬主機。所謂虛擬主機就像是真的主機一樣,每個主機都有自己的主機名和項目目錄。例如<Host name=”localhost” appBase=”webapps”>表示主機名為localhost,這個主機的項目存放在webapps目錄中。訪問這個項目下的主機時,需要使用localhost主機名,項目都存放在webapps目錄下。

l  <Context>:<Host>元素的子元素,在<Host>中可以有N個<Context>元素,每個<Context>元素表示一個應用。如果應用在<Host>的appBase指定的目錄下,那么可以不配置<Context>元素,如果是外部應用,那么就必須配置<Context>。如果要為應用指定資源,也需要配置<Context>元素。

 

我們可以把<Server>看作是一個大酒店:

l  <Service>:酒店的服務部門;

l  <Connector>:服務員;

l  <Engine>:后廚;

 

 

Tomcat

tomcat6支持servlet2.5
tomcat7支持servlet3.0

1. 啟動關閉tomcat
需要先配置JAVA_HOME
* 雙擊%CATALANA_HOME%\bin\startup.bat
* 雙擊%CATALANA_HOME%\bin\shutdown.bat

 訪問服務器:http://localhost:8080/index.jsp
因為服務器在本機上,所以主機名為localhost,表示本機
tomcat的默認端口為8080
index.jsp是主頁

2. 修改端口號
* 修改端口號,%CATALANA_HOME%\conf\server.xml,修改<Connector port="8080">,把8080修改了即可。
* http協議默認端口為80,也就是說http://localhost,等同與http://localhost:80

如果把Tomcat端口號修改成80,那么訪問服務器就可以無需再給出端口號。

3. tomcat目錄結構

* bin:二進制可執行文件,例如startup.bat和shutdown.bat
* conf:配置文件,例如:server.xml、context.xml、web.xml、tomcatusers.xml
* lib:tomcat所需jar包
* logs:日志文件
* temp:存放tomcat運行時產生的臨時文件,當tomcat關閉后,這個目錄中的文件可以刪除
* webapps:這個目錄下的每個文件夾對應一個JavaWeb應用程序
* work:webapps下的應用程序在運行時會自動生成文件,就在work目錄下。work目錄刪除了也沒問題,但再次運行應用程序還要再生成work目錄和文件。

l  <Host>:后廚中的一個區,例如川菜區是一個<Host>、粵菜區是一個<Host>;

l  <Context>:后廚的一個廚師。

 

用戶發出一個請求:http://localhost:8080/hello/index.jsp。發現是http/1.1協議,而且還是8080端口,所以就交給了處理這一請求的“服務員(處理HTTP請求的<Connector>)”,“服務員”再把請求交給了“后廚(<Engine>)”,因為請求是要一盤水煮魚,所以由“川菜區(<Host>)”負責,因為“大老王師傅<Context>”做水煮魚最地道,所以由它完成。

l  <Connector>:關心請求中的http、和8080;

l  < Host>:關心localhost;

l  <Context>:關心hello


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM