Tomcat深入淺出(一)

Meteor發表於2022-07-05

一、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盤這個目錄下

相關文章