一、Tomcat簡介
我們下載好Tomcat後需要配置一下Java環境:如果開啟出現閃退得情況,首先是jdk
同時配置JRE_HOME
Tomcat的一些關鍵目錄:
- /bin:存放用於啟動及關閉的檔案,以及一些指令碼。其中以
*.sh
結尾的是linux下執行的檔案,window下是.bat
檔案。 - /conf:配置檔案及相關的資訊。容器的主配置檔案為
server.xml
。 - /log:日誌記錄檔案。
- /webapps:存放Web應用的相關檔案。
- /lib:存放以
.jar
檔案,各種依賴 - /webapps:裡面存放我們的應用,Tomcat會自動找到。我們會自動訪問ROOT下面的index.jsp頁面。
通過bin\startup.bat
來開啟Tomcat
通過bin\shutdown.bat
關閉Tomcat
二、瞭解Tomcat執行機制
1.首先大家都知道Tomcat的訪問可以是localhost或者127.0.0.1,但是並沒有瞭解具體的由來,所以我們來查詢一下本機的hosts檔案:
我們可以通過修改hosts檔案裡面的配置,修改Tomcat的訪問域名。
2.然後發起請求,去DNS伺服器通過域名找到對應的ip地址,然後再找對應的伺服器。
3.當然我們也可以直接使用ip地址去瀏覽器查詢,這樣就跳過了DNS階段,但是ip地址不好記呀。?♂️
4.定位到了伺服器以後,我們通過埠號8080找到Tomcat這個應用,然後通過Socket進行三次握手、長連線,
通過Connector聯結器的處理
5.將傳來的請求資訊放入到Catalina請求處理容器中,處理完以後返回給Connector聯結器,最後再次通過Socket傳回給客戶端。
三、Tomcat配置檔案
3.1 logging.properties
這是一個日誌資訊的配置檔案,我們可以通過設定這個引數來解決我們控制檯的亂碼問題。
將這裡的UTF-8改成GBK即可。
因為我們電腦是GBK的編碼。
通過這段話也可以明白:日誌控制檯編碼 = GBK
同時我們也可以根據日誌 進行debug
3.2 server.xml
-
server.xml是Tomcat伺服器的核心配置檔案,同時也包含了Tomcat的Servlet容器的所有配置檔案。
-
一個server中有很多個service服務
-
Connector聯結器和Engine啟動引擎是同級別的
這裡Connector聯結器:
- port:連線的埠號
- protocol:處理協議
- connectionTimeout:連線超時
- redirectPort:重定向埠
這裡的Engine下面的Host:
- appBase:是訪問localhost下的預設資源路徑 webapps,也是根路徑。
- 我們可以在裡面定義一個
<Context docBase="" path=""> </Context>
- docBase:更改預設資源路徑資料夾
- path:設定訪問路徑
3.3 web.xml
首先你會看到這些東西,這些是一些定義的規範,不必過於瞭解,只是限制了你什麼標籤可以寫、怎麼寫,需要按照他的規範來寫,否則會報錯。
這是一個預設的請求處理的servlet
`
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>`
通過這個servlet-name的名字,設定請求路徑,找到上面的servlet配置資訊,最後找到對應的處理類。
設定歡迎頁面
當我們啟動Tomcat的時候,我們可以看到這段資訊,這也是為什麼我們的C盤莫名其妙的就tm滿了...
idea並沒有用我們Tomcat的配置檔案,而是把它複製了一份精簡版放到了C盤這個目錄下