Tomcat的用途- 碼上快樂
文章推薦指數: 80 %
上面說過Tomcat是一個容器,但為什么開發出來的應用需要裝進Tomcat這個容器呢。
忽略各個文件之間的跳轉,web應用本質只是一個裝有很多資源(java/html/jsp/ ...
碼上快樂
1秒登錄去廣告
首頁
榜單
標簽
關於
年薪50萬教程下載
搜索
相關內容
簡體
繁體
Tomcat的用途
本文轉載自
廣金
查看原文
2019-12-2221:09
2272
總結:
這篇文章主要反思了Tomcat的作用。
本文主要是自己的一個思考過程,不是嚴謹地介紹和詳細總結Tomcat使用方法的文章。
最后嘗試利用tomcat的知識,以URL的形式來訪問文件夾(在瀏覽器的地址欄直接黏貼文件的路徑也可以訪問,但是這里可以不用實際的路徑進行訪問)。
該例子實用意義不大,主要是加深對tomcat的理解。
教材上說,Tomcat是Apache組織的Jakarta項目的一個重要子項目,它是Sun公司推薦的運行Servlet和JSP的容器。
也就是說它是一個容器,但隨處也可見“Tomcat服務器”的說法。
事實上,Tomcat即是容器也是服務器。
不過本文主要涉及Tomcat發揮容器功能的部分。
Tomcat是用Java語言編寫的,需要運行在Java虛擬機上,所以一般需要先安裝JDK,以提供運行環境。
上面說過Tomcat是一個容器,但為什么開發出來的應用需要裝進Tomcat這個容器呢。
忽略各個文件之間的跳轉,web應用本質只是一個裝有很多資源(java/html/jsp/js/css等各種格式文件)的文件夾。
假如我們有一個web應用projectA,我們在某台計算機A把這些文件寫好后,就希望其他設備能夠通過一些方式來訪問我們的資源。
一種方法是通過在瀏覽器地址欄輸入URL來實現資源的訪問。
那么從我們在計算機A上寫好某個文件夾到文件夾能夠被其他計算機所訪問,需要什么呢。
首先需要我們的互聯網。
計算機B先通過互聯網找到計算機A。
而這樣做的前提是你這個電腦必須在互聯網這個網絡里面,這樣別人才能訪問到你。
也就是說一台電腦必須要有IP地址才能稱為服務器。
但這樣也只是找到了IP地址而已,我們還需要找到對應的主機(注:一般主機是指一台電腦,但在tomcat中,虛擬主機指的是計算機中的某個文件夾)。
但就算找到了計算機A,我們怎么知道要去哪里尋找web應用projectA呢。
Tomcat容器就是來解決這個問題的。
在我看來,Tomcat的一個重要的功能就在於“映射”(通過配置文件實現)。
虛擬主機名的配置
首先確定一個虛擬的主機名。
Tomcat默認使用localhost作為虛擬主機名,並映射到webapps文件夾。
在Tomcat安裝目錄下的server.xml文件夾的內容如下所示:
而虛擬的主機名除了在這里進行設置外,還需要在hosts中進行設置,並且需要在catalina文件夾下新建一個同名的文件夾,虛擬目錄可以在這里進行配置,這些內容會在下面具體展開)。
例如想在url為localhost/chapter01時跳轉到特定的目錄下。
就需要在
輸入:
並且不一定存在父子文件夾的關系。
除此以外,還可以指定默認頁面(例如指定welcome.html)。
打開
這時候需要在chapter01目錄中創建WEB-INF目錄,並在該目錄下創建一個web.xml文件。
配置方法如下:
它列出了所有的web應用及其狀態。
並且提供每個web的啟動、停止和卸載的功能。
這意味着它可以選擇電腦中哪部分資源有效,哪部分資源無效。
那么這樣來看的話,其實tomcat就像酒店前台,給你門卡讓你去找到對應的房間(web資源),並且決定哪些房間不能進,哪些可以進去。
然后執行了startup.bat啟動Tomcat。
啟動后其實就是把這些映射激活了。
關閉后就相當於酒店前台走了,來訪者(URL請求)不知如何是好。
網上有人說啟動了tomcat后,CATALINA_PATH&CATALINA_BASEwillrefertotheresourcelocation.也就是說知道去哪里找我們的資源了。
如果仔細看上面虛擬主機的配置內容,就會發現
而Engine的name就是Catalina。
一旦啟動tomcat,就表明我們的配置能夠生效。
文件夾projectA就不是簡單的一個文件夾了,而是變成了一個可以通過URL訪問得到的一個文件夾。
按照這種思路的話,我們其實可以自己定義一些路徑(下文給出一個例子)。
所以tomcat像是一個橋梁,外界訪問服務器(某台計算機)資源的時候,tomcat能夠找到對應的文件夾。
所以當我們訪問localhost://index.html,他就知道去這台電腦的哪個位置尋找資源index.html。
當然,tomcat也有它力所難及的地方,例如編寫有組織的web應用就不是它的強項了。
這也是我們后面要不停地用Eclipse等進行整合開發的原因。
一個簡單的案例(用URL請求訪問本地文件夾中的視頻)
假如我有視頻放在文件夾(E:\jpvideo)中,其中有一個文件名為1.mp4,如果我想通過URL(例如:video/jpvideo/1.mp4)來訪問電腦上的這個文件夾的資源。
那么要怎么做呢。
方法如下:a、首先來到tomcat安裝目錄下,找到server.xml。
添加一個名為“video”的虛擬主機。
e、(驗證)在地址欄中輸入video/jpvideo/1.mp4,結果如下,可以直接打開視頻並播放。
×
免責聲明!
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。
如果侵犯了您的隱私權益,請聯系本站郵箱[email protected]刪除。
猜您在找
Docker用途&和tomcat的區別
下載apache-tomcat-9.0.17-windows-x64及安裝以及用途
Json用途
nohup的用途
ZooKeeper用途
NFC用途
SSH基本概念和用途
python中的*和**的用途
說說反射的用途及實現
什么是redis?redis有什么用途?
粵ICP備18138465號
©2018-2021CODEPRJ.COM
延伸文章資訊
- 1Tomcat組成與工作原理 - 程式前沿
Tomcat是什麼開源的Java Web 應用服務器,實現了Java EE(Java Platform Enterprise Edition)的部分技術規範,比如Java Servlet、Jav...
- 2用了十幾年的Tomcat,你真的了解它嗎?阿里大師帶你全方位 ...
Tomcat到底是如何處理一個HTTP請求,並如何將請求傳遞給Servlet的呢? Tomcat是怎麼部署一個應用的? Tomcat中War包和Jar包的區別是什麼? Tomcat和Socket...
- 3Day29 Spring Boot發佈篇-認識tomcat(下) - iT 邦幫忙
tomcat是一個開源Java Servlet 容器(Container),它與Apache都是網路伺服器,我們可以直接使用Apache tomcat來對我們的專案做佈署,但是他的功能還是有受限...
- 4Tomcat的用途- 碼上快樂
上面說過Tomcat是一個容器,但為什么開發出來的應用需要裝進Tomcat這個容器呢。忽略各個文件之間的跳轉,web應用本質只是一個裝有很多資源(java/html/jsp/ ...
- 5【Tomcat】Tomcat原理與系統架構 - IT人