Tomcat深入淺出(一)
一、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盤這個目錄下