java获取tomcat目录结构_Tomcat目录结构详解
Tomcat目錄結構圖如下:
bin目錄
存放一些可執行的二進制文件,.sh結尾的為linux下執行命令,.bat結尾的為windows下執行命令。
catalina.sh:真正啟動tomcat文件,可以在里面設置jvm參數。
startup.sh:啟動tomcat(需事先配置好JAVA_HOME環境變量才可啟動,該命令源碼實際執行的為catalina.sh start)。
shutdown.sh:關閉tomcat。
version.sh:查看tomcat版本相關信息。
conf目錄
存放tomcat相關配置文件的。
catalina.policy
項目安全文件,用來防止欺騙代碼或JSP執行帶有像System.exit(0)這樣的命令,可能影響容器的破壞。 只有當Tomcat用-security命令行參數啟動時這個文件才會被使用,即啟動tomcat時, startup.sh -security 。
catalina.proterties
配置tomcat啟動相關信息文件
context.xml
監視并加載資源文件,當監視文件發生變化時,自動加載,通常不會去配置
jaspic-providers.xml和jaspic-providers.xsd
不常用文件
logging.properties
tomcat日志文件配置,包括輸出格式、日志級別等。
server.xml
核心配置文件:修改端口號,添加編碼格式等
核心組件介紹:
<1>Server:最頂層元素,而且唯一,代表整個tomcat容器。一個Server元素包含一個或者多個Service元素;
<2>Service:對外提供服務的。一個Service元素包含多個Connector元素,但是只能包含一個Engine元素;
<3>Connector:接收連接請求,創建Request和Response對象用于和請求端交換數據;然后分配線程讓Engine來處理這個請求,并把產生的Request和Response對象傳給Engine
<4>Engine:Engine組件在Service組件中有且只有一個;Engine是Service組件中的請求處理組件。Engine組件從一個或多個Connector中接收請求并處理,并將完成的響應返回給Connector,最終傳遞給客戶端。
<5>Host:代表特定的虛擬主機。
name:虛擬主機的主機名。比如 localhost 表示本機名稱,實際應用時應該填寫具體域名,比如 www.dog.com ,當然如果該虛擬主機是給內部人員訪問的,也可以直接填寫服務器的 ip 地址,比如 192.168.1.101;
appBase:設置 Web 應用程序組的路徑。appBase 屬性的值可以是相對于 Tomcat 安裝目錄的相對路徑,也可以是絕對路徑,需要注意的是該路徑必須是 Tomcat 有權限訪問的;
unpackWARs:是否自動展開war壓縮包再運行Web應用程序,默認值為true;
autoDeplay:是否允許自動部署,默認值是 true,表示 Tomcat 會自動檢測 appBase 目錄下面的文件變化從而自動應用到正在運行的 Web 應用程序;
deployOnStartup:為true時,表示Tomcat在啟動時檢查Web應用,且檢測到的所有Web應用視作新應用;
<6>Context:該元素代表在特定虛擬主機Host上運行的一個Web應用,它是Host的子容器,每個Host容器可以定義多個Context元素。靜態部署Web應用時使用。
path:瀏覽器訪問時的路徑名,只有當自動部署完全關閉(deployOnStartup和autoDeploy都為false)或docBase不在appBase中時,才可以設置path屬性。
docBase:靜態部署時,docBase可以在appBase目錄下,也可以不在;本例中,不在appBase目錄下。
reloadable:設定項目有改動時,重新加載該項目。
tomcat-users.xml和tomcat-users.xsd
tomcat-users.xml:tomcat用戶配置文件,配置用戶名,密碼,用戶具備權限
tomcat默認沒有配置任何用戶,只有配置好用戶后才能使用以下Tomcat Manager三個功能:
tomcat-users.xsd:對tomcat-users.xml文件的描述和約束
web.xml
web應用相關通用配置,可以做下面這些事情。
配置servlet
添加過濾器,比如過濾敏感詞匯
設置session過期時間,tomcat默認30分鐘
注冊了很多MIME類型,即文檔類型。這些MIME類型是客戶端與服務器之間說明文檔類型的,如用戶請求一個html網頁,那么服務器還會告訴客戶端瀏覽器響應的文檔是text/html類型的,這就是一個MIME類型
配置系統歡迎頁
lib目錄
存放tomcat依賴jar包的。
其中ecj-x.x.x.jar起到了將.java文件編譯成.class字節碼文件的作用。
logs目錄
存放tomcat運行時產生的日志文件。
在windows環境中,日志文件輸出到catalina.xxxx-xx-xx.log文件中。
在linux環境中,日志文件輸出到catalina.out文件中。
大體有以下幾類:
catalina.xxxx-xx-xx.log
windows下日志文件輸出內容
host-manager.xxxx-xx-xx.log
訪問webapps下host-manager項目日志
localhost.xxxx-xx-xx.log
tomcat啟動時,自身訪問服務,只記錄tomcat訪問日志,而非業務項目日志
localhost_access_log.xxxx-xx-xx.txt
表示訪問tomcat下所有項目日志記錄
manager.xxxx-xx-xx.log
訪問webapps下manager項目日志
temp目錄
用戶存放tomcat在運行過程中產生的臨時文件(清空不會對tomcat運行帶來影響)。
webapps目錄
用來存放應用程序,可以以文件夾、war包、jar包的形式發布應用。當然也可以將應用程序放在磁盤的任意位置,在配置文件中映射好即可。
默認自帶以下5個項目:
work目錄
用于存放tomcat在運行時的編譯后文件(清空該目錄下所有內容,重啟tomcat,可達到清除緩沖的作用)
總結
以上是生活随笔為你收集整理的java获取tomcat目录结构_Tomcat目录结构详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 物理内存_聊聊Java中的内存
- 下一篇: java queue源码_java源码解