本文在金旭亮的知乎live【如何自學Java Web開發】指導下進行Tomcat的學習內容整理。
文章目錄
安裝與啓動Tomcat
如何安裝Tomcat
可以參考我的博客
如何啓動Tomcat
運行Tomcat\bin目錄下的startup.bat(Windows)或 startup.sh(Linux)即可。
如何訪問Tomcat提供的Web服務
如何與其它Web服務器(Apache和Ngnix)集成
瞭解Tomcat相關的之基礎知識與運作原理
Tomcat是什麼?它與Java EE之間是什麼關係
TomcatTomcat是一個實現了JAVA EE標準的最小的WEB服務器,是Apache 軟件基金會的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。因爲Tomcat 技術先進、性能穩定,而且開源免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web 應用服務器。學習JavaWeb開發一般都使用Tomcat服務器,該服務器支持全部JSP以及Servlet規範。
Tomcat下各文件夾的作用
Tomcat文件目錄如下(以Tomcat 9.0.22爲例):
1. bin目錄
存放Tomcat運行用到的腳本文件,如.bat
(Windows系統)和.sh
(Linux系統)。
- startup:主要是檢查catalina.bat/sh執行所需環境,並調用catalina.bat批處理文件,啓動tomcat。
- catalina:真正啓動Tomcat文件,可以在裏面設置jvm參數。
- shutdown:關閉Tomcat,相當於直接關閉CMD窗口。
2. conf目錄
存放tomcat的配置文件。
- Catalina文件夾:用於存儲自定義部署Web應用的路徑。
- server.xml:
- web.xml:
- tomcat-users.xml:配置Tomcat的server的manager信息。
3. lib目錄
存放Tomcat運行用到的庫文件。
4. logs目錄
存放Tomcat運行時產生的日誌文件。
- catalina:控制檯日誌。
- host-manager:Tomcat管理頁面中的host-manager的操作日誌。
- localhost:Web應用的內部程序日誌。
- localhost_access_log:用戶請求Tomcat的訪問日誌,可以在conf/server.xml裏配置。
- manager:Tomcat管理頁面中的manager app的操作日誌。
5. temp目錄
存放Tomcat運行時產生的臨時文件。
6. webapps
存放Tomcat的網頁應用文件。當Tomcat啓動時會去加載webapps目錄下的應用程序,可以以文件夾、war包或jar包的形式發佈應用。
7. work
存放Tomcat運行時產生的class文件。清空work目錄,然後重啓Tomcat,可以達到清除緩存的作用。
Tomcat是如何加載Web應用的
訪問本機資源
- 拷貝文件方法:
localhost:8080
對應目錄webapps\ROOT
,localhost:8080/A
對應目錄webapss\A
,localhost
可以替換爲本機IP地址。將需要訪問的文件拷貝到目錄下,訪問相應地址即可。 - 虛擬映射方法1:在
conf\server.xml
中的Host節點中插入新節點<Context docBase='' path=''></Context>
,其中docBase代表文件的絕對路徑,path代表文件相對於localhost的相對URL,以/開頭。如<Context docBase='D:\xml' path='/xml'></Context>
代表文件在D:\xml
目錄下面,其URL爲localhost:8080/xml/filename
。 - 虛擬映射方法2:在
conf\Catalina\localhost
目錄下新建xml文件,在裏面寫入節點<Context docBase=''></Context>
,其中docBase代表文件的絕對路徑。如新建server.xml
並寫入節點<Context docBase='D:\xml'></Context>
,代表文件在D:\xml
目錄下面,其URL爲localhost:8080/server/filename
。
修改端口
Tomcat默認端口是8080,可以通過修改conf\server.xml
配置文件來修改端口。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改以上節點的端口並重啓Tomcat即可修改端口,如果將端口修改爲80(Web服務默認端口)時訪問可以不用寫出端口,即localhost/filename
。