學習Tomcat,這一篇就夠了!

學習Tomcat以前讓咱們先來學習一下關於CS和BS架構的知識吧!html

(一)、 CS 和 BS 架構

關於 CS 和 BS 架構相信你們也都據說過,或許只是這個概念沒有那麼清楚,其實不管 CS 仍是 BS 都是軟件架構的兩種不一樣的表現形式而已,咱們看下面的簡單介紹!web

C/S:Client/Server:客戶端和服務端數據庫

B/S:Browser/Server:瀏覽器和服務端的架構(經過瀏覽器訪問的應用)瀏覽器

一、C/S 簡介

採用 CS 架構的一些軟件通常都是運行在電腦桌面上:好比 QQ,一些視頻軟件的客戶端。等tomcat

開發語言:VB,VC++,C#,Java 中的 swing,awt 等安全

1.一、特色

通常的,服務端僅僅是安裝一個數據庫和數據存儲,全部程序的代碼(功能和界面)都編寫在客戶端軟件中(把全部的業務邏輯都編寫在了客戶端),界面渲染也在客戶端服務器

1.二、架構的優缺點

優勢:直觀,用戶體驗好,界面美觀,安全性要高一點。等微信

缺點:升級須要從新安裝,移植性較低,開發和維護成本要高。markdown

二、B/S 簡介

採用這種架構的軟件通常都是經過瀏覽器訪問,好比門戶網站,管理系統等。網絡

其實 B/S 屬於特殊的 C/S,由於瀏覽器就是一個特殊的客戶端。安裝在電腦上。

開發語言:JSP,PHP,ASP 等

2.一、特色

在服務端編寫代碼,全部的業務邏輯都由服務端完成,客戶端只負責界面的渲染展現

2.二、優缺點

優勢:可移植性高,開發和維護較好

缺點:用戶體驗不夠好,界面不夠豐富,安全性很低。

三、綜合(瘦富客戶端)

3.一、瘦客戶端

也便是傳統的 BS 架構,服務端主要負責業務邏輯的處理,而客戶端

則是負責頁面的渲染,其中的優缺點也便是上面說的。

3.二、富客戶端

富客戶端實際上是 BS 架構和 CS 架構的一種結合,這種客戶端的特色就是界面華麗,綜合兩種架構的優勢,在富客戶端中,服務端依然是主要負責業務邏輯的處理,區別在於客戶端,不像傳統的 BS 架構中客戶端只負責界面的渲染,頭同時客戶端還會處理少許的業務邏輯。

用到的開發技術:Extjs,Flash,EasyUI,JavaFX 等。使用的語言是

JavaScript 或者 action script

(二)、什麼是服務器(Tomcat)

服務器通常分爲軟件服務器和硬件服務器,總的來講服務器就是提供服務的,就比如,你能夠給服務器要點什麼,他能夠給你返回點什麼,你也能夠在他那存放點什麼,沒有它有些事你還作不了。接下來咱們就軟件服務器和硬件服務器簡單作下介紹。

一、軟件服務器

軟件服務器軟件服務器其實就是一個軟件,這個軟件提供了 BS 應用運行的環境。也就是說沒有這個軟件,採用 bs 架構的軟件就沒法運行。

二、硬件服務器

這裏的硬件服務器其實就能夠理解成咱們日常說的主機,其實就是一臺電腦,只不過這臺電腦上安裝了軟件服務器

(三)、Tomcat 通關

3.一、什麼是 Tomcat

Tomcat 其實就是一個軟件服務器,當咱們的電腦上安裝了 Tomcat,那麼咱們的電腦就成了一個硬件服務器,也能夠說是主機,它爲咱們提供了一些必要的運行環境。

3.二、Tomcat 的目錄結構

好吧,我決定先來講說 Tomcat 的目錄結構。

bin 目錄:這裏面主要是 Tomcat 的工具,好比啓動,關閉等。 conf:這個目錄裏面是 Tomcat 的配置文件

lib:這個是很是重要的一個文件夾,裏面存放着 Tomcat 的核心 jar 包以及一些依賴的 jar 包,其實就是放 jar 包的地方。

logs:日誌文件

temp:這是一個臨時目錄,裏面會有上傳文件時的臨時文件。

webapps:默認狀況下,這是部署項目的路徑。

work:英文單詞工做的意思,因此這是一個工做目錄,裏面主要裝 JSP 翻譯成 Java 文件的代碼。

3.三、Tomcat 的安裝

這裏寫圖片描述
這裏寫圖片描述

對於 Tomcat 的安裝最重要的是配置,當你下載好一個 Tomcat(下載如圖),而且解壓完成你會獲得一個 Tomcat 的文件夾,打開就是上面介紹的那幾個文件夾了,在上面也說過,Tomcat 的啓動實在 bin 目錄下的,直接說了吧就是 startup.bat,你雙擊這個文件就是啓動 Tomcat,可是每每你會遇到這樣的問題「一閃而過」

這個時候咱們通常很想知道,這是爲何啊,咱們能夠經過 dos 來查看緣由,在此文件夾下打開 dos 窗口輸入 startup.bat 而後回車,你會看到這樣的提示

這裏寫圖片描述

什麼意思呢?大概意思就是缺乏 JAVA_HOME 或者 JRE_HOME 的運行環境致使這個應用沒法執行,嗯就這樣理解。

如今知道是什麼問題了,那就要去解決這個問題從錯誤的緣由咱們知道應該去配置 JAVA_HOME 或者 JRE_HOME,在此以前咱們先要來講以

下這個 JAVA_HOME 和 JRE_HOME 究竟是個什麼東西,有什麼用?

首先這兩個東西都是一種約定,就這樣的,是一個約定好的變量,當某些程序須要用到的話就會默認的去找 JAVA_HOME 或者 JRE_HOME,而後拿到他們的值,這裏就拿咱們的 Tomcat 來講,當你雙擊 startup.bat 來啓動 Tomcat 的時候,它就會默認去取 JAVA_HOME 或者

JRE_HOME 來用,另外 Tomcat 的運行是不須要 JDK 中的工具的只須要 JRE 來提供運行環境便可,也便是說要想啓動 Tomcat 必需要有

JAVA_HOME 或者 JRE_HOME,當二者都不爲空的時候默認使用

JRE_HOME。

那麼 JAVA_HOME 具體值的是什麼呢?這個想必你們都很清楚,一般它指的就是 JDK 的目錄,若是須要 JDK 的話,大部分程序都會默認的去環境變量中取這個值來用,一樣 JRE_HOME 就是指的 jre 目錄了,當程序不須要 JDK 而須要 Java 的一個運行環境時就會取這個值了。相信說到這裏你已經明白的差很少了,接下來咱們就去配置這個

JAVA_HOME 吧!(由於 JAVA_HOME 比較全能,因此選擇配置它),若是覺的接下來我會直接告訴你們怎麼配置那你就錯了。

3.3.一、在系統環境變量中配置

首先,最常規的就是在咱們的電腦中的系統環境變量中取配置

JAVA_HOME 了,這個想必你們都會,這裏很少說,直接上圖。

這裏寫圖片描述

OK,通過這樣的操做就能夠正常啓動 Tomcat 了。

3.3.二、在 startup.bat 中配置

在系統環境變量中配置是一種方法,這個你們都知道想必也都會,這就無法裝逼了,咱們須要知道一種有那麼幾我的不知道的方法,接下來咱們把系統環境變量中配置的 JAVA_HOME 刪除掉,接下來咱們將 startup.bat 以記事本方式打開。以下圖

這裏寫圖片描述

在圖中所示位置添加上 set JAVA_HOME=D:\Java\jdk_8u131 而後保存便可。一樣能夠正常啓動 Tomcat。

若是別人不知道這個方法,發現你的系統環境變量中沒有配置

JAVA_HOME 可是卻能夠啓動 Tomcat,你說他會怎麼想,另外在 startup.bat 文件的最後加上一個 pause,你猜有什麼效果?

這裏寫圖片描述

3.3.三、如何斷定 Tomcat 啓動成功

咱們能夠經過瀏覽器訪問來確認服務是否啓動成功,那麼如何訪問呢?咱們能夠經過以下兩種方式

http://服務器所在主機的 IP:服務器的端口號/資源名字

http://服務器所在主機的名字:服務器的端口號/資源名字

通常咱們的服務都是在本機,所以能夠經過以下方式訪問

http://本機的 IP:服務器的端口號/資源名字
http://localhost:服務器的端口號/資源名字

咱們這裏經過 http://localhost:服務器的端口號來進行測試,這裏要知道 Tomcat 的默認端口號是 8080,這個怎麼看呢?咱們再次點擊 startup.bat

這裏寫圖片描述

在瀏覽器中輸入 http://localhost:8080/當看到以下這個界面表示 Tomcat 安裝成功且已經啓動

這裏寫圖片描述

這個時候你要注意,如下界面是不能關閉的。

這裏寫圖片描述

四、Tomcat 常見錯誤

4.一、沒有成功啓動 Tomcat 就開始訪問

這樣的後果是會致使沒法顯示此網頁,好比你雙擊 startup.bat 啓動了 Tomcat,可是手賤一下又給關了,這樣你去訪問網頁的時候就會出現這個狀況

這裏寫圖片描述

因此必定要記住,啓動了 Tomcat 以後就將它最小化吧。

4.二、出現 404 的錯誤

這是一個很是經典的錯誤,咱們先來看下這個錯誤界面

這裏寫圖片描述

之因此會出現這個界面是由於你訪問的頁面不存在,另外不知道你們有沒有這樣的疑惑,咱們以前說驗證 Tomcat 是否安裝成功訪問

http://localhost:服務器端口號/資源名字,
可是咱們訪問的時候只是輸入了 http://localhost:8080,那麼這個資源名字呢?其實完整的路徑是這樣子的

這裏寫圖片描述

只不過這裏的 index.jsp 被默認隱藏了,也就是即便咱們不寫他也是取默認打開這個界面,所以當你輸入的界面不存在就會出現 404 的錯誤啦,好比這樣

這裏寫圖片描述

4.三、重複啓動,端口衝突

這個是什麼意思呢?你如說你如今已經啓動一個 Tomcat 了,你又雙擊 startup.bat,結果會發現一閃而過,這個時候你也許會疑惑,這是怎麼回事,這個時候你最好先看看是否是已經有一個 Tomcat 被啓動了,想準確的查看錯誤信息咱們能夠去查看錯誤日誌,還記的錯誤日誌在哪嗎?

這裏寫圖片描述

日誌文件是在 logs 目錄下的,咱們找到錯誤日誌文件打開它,翻到最後

這裏寫圖片描述

咱們會發現這裏有一個經典的錯誤,Tomcat 的端口已經被佔用,端口衝突。

4.四、不能亂改 Tomcat 中配置文件的結構

這個通常就是咱們不當心將 Tomcat 文件中的配置文件修改了,當發生這種狀況,咱們通常要先去查看日誌文件,從文件中去查找緣由而後再修改,這裏咱們作一個例子。咱們打開配置文件夾 conf,而後將裏面的配置文件 server.xml 文件稍做修改來模擬咱們不當心改動了配置文件致使出錯。

這裏寫圖片描述

咱們試着將這個刪除,而後保存咱們再運行 Tomcat 試試,這時候會一閃而過,明顯是出問題了,接下來咱們去查看日誌文件。

這裏寫圖片描述

咱們能夠看到,給出的日誌仍是很是詳細的。

五、關於 Tomcat 的端口和服務器

5.一、如何修改默認端口

咱們知道 Tomcat 的默認端口是 8080,這樣咱們在訪問的時候就須要這樣 http://localhost:8080/資源名字,咱們知道 http 協議的默認端口是 80,而咱們在進行網絡訪問的時候,默認都是遵循 http 協議的,所以若是咱們的 Tomcat 的端口是 80 的話,咱們在訪問的時候就能夠不寫端口號了也就是 http://localhost/資源名字,接下來咱們來修改一下 Tomcat 的默認端口。這個該怎麼修改呢?咱們打開 Tomcat 的配置文件,而後打開 server.xml,能夠看到這些

這裏寫圖片描述

沒錯咱們就能夠在這裏修改默認端口,咱們將它修改爲 80,而後保存。這個時候咱們再像以下方式訪問就是不成功的。

這裏寫圖片描述

必須是以下這個樣子

這裏寫圖片描述

好吧,我相信你已經懂了。

5.二、將 Tomcat 做爲服務器安裝在電腦上

首先咱們要知道 Tomcat 的安裝有兩種形式,一種就是咱們以前一直在講的解壓免安裝版的,這個解壓以後,配置好環境變量也就是

JAVA_HOME 就能夠直接使用了。

另一種是安裝版的,這個有必定的好處就是能夠設置成開機自啓,這樣就省去了咱們每次啓動 Tomcat 的麻煩。

那麼如何將咱們的 Tomcat 做爲服務器安裝在電腦上呢?其實也很簡單,咱們一塊兒來看看,在 Tomcat 的 bin 目錄下有一個 service.bat 文件,這個文件就表明安裝和卸載,咱們在當前目錄下打開 CMD,這裏給你們說一個技巧,不知道你們日常若是要在當前目錄下打開 cmd 都是怎麼作的,是否是 win+r 輸入 cmd,而後使用 cd 切換到當前目錄下呢?若是你是這樣那就太落後了

這裏寫圖片描述

這個技巧我通常人還不告訴他們呢?進入 dos 窗口以後咱們執行如下操做

這裏寫圖片描述

這樣咱們就成功安裝了,怎麼驗證呢?咱們打開服務界面

這裏寫圖片描述

能夠看到 Tomcat 已經做爲咱們的服務安裝在了本地,固然咱們還可使用 service remove 來卸載 Tomcat!

5.三、tomcat 的安全配置

咱們先來看下這個界面

這裏寫圖片描述

確定不陌生吧!大家知道這個頁面對應 tomcat 中的哪一個文件嗎?咱們來看看

這裏寫圖片描述

其實咱們訪問 localhost 就是默認打開的 ROOT 這個文件夾中的內容,那麼咱們再來看這個頁面上的其餘內容

這裏寫圖片描述

好比這個 Documentation,咱們點擊

這裏寫圖片描述

這就是 tomcat 的文檔內容。那麼這個頁面有對應 tomcat 中的哪一個文件夾呢?

這裏寫圖片描述

對就是這個 docs。接下來咱們看這個、

這裏寫圖片描述

點擊下看看

這裏寫圖片描述

居然讓輸入用戶名和密碼,這個好像真不知道,怎麼辦,仍是先取消吧

這裏寫圖片描述

哎呦,出現了這個頁面,仔細一看,頗有用啊,意思就是咱們能夠本身設置帳戶密碼,去哪設置呢?在 conf/tomcat-users.xml 這個裏面,好,咱去看看

這裏寫圖片描述

就是這個,打開它

這裏寫圖片描述

是這個樣子的,而後怎麼辦,咱們再看以前的那個 401 界面,其中提到好像要輸入這些內容

這裏寫圖片描述

好,咱們直接複製過去

這裏寫圖片描述

而後保存,咱們試着這個帳戶和密碼去登陸一下試試

這裏寫圖片描述
對了,tomcat 但是要從新啓動才行的。

這裏寫圖片描述

看見沒,登陸進來了,並且別有洞天啊。

這裏寫圖片描述

咱們點擊這個

這裏寫圖片描述

你看到了什麼?這其實就是部署在 tomcat 中的項目也就是這些

這裏寫圖片描述

好啦,差很少了,好好理解理解!

六、如何配置 Javaweb 項目

6.一、標準 web 結構

這裏寫圖片描述

根據這個圖要可以手動建立一個 web 項目文件,其中的 web.xml 文件中的內容能夠到 Tomcat 中的示例文件中去拷貝,而後只保留根部文件便可,也就是這個

這裏寫圖片描述

6.二、使用 eclipse 搭建一個乾淨的 web 項目

這裏寫圖片描述

這裏面有兩點須要注意,第一就是 web.xml 這個文件不要忘記了,能夠去 tomcat 的示例文件中去拷貝,最後要是圖中那個樣子,第二點就是通常的 Java 項目,編譯後的文件都會存放在 bin 目錄,這個能夠怎麼看呢?咱們打開這個項目的根目錄

這裏寫圖片描述

打開這個文件,會看到這樣的

這裏寫圖片描述

可是這裏咱們要去改變這個路徑,怎麼改呢?在你的項目名字上右擊選擇 build path,而後選擇最後一個配置 path

這裏寫圖片描述

緊接着選擇咱們項目下的 WEB-INF 中的 classes 做爲此路徑

這裏寫圖片描述

點擊 ok,咱們再看看此時的路徑

這裏寫圖片描述

並且你發現沒,此時咱們項目中的 classes 這個文件也沒有了。

當搭建好一個純淨的 web 項目時,咱們怎麼去部署項目呢?咱們先來寫一個 html 文件,就叫作 index.html,也許你會問爲何叫 index 啊,其實叫什麼都無所謂,可是你要知道在訪問的時候會默認去訪問叫 index 的文件,還記得以前咱們啓動 Tomcat 的時候去瀏覽器訪問 http://localhost:8080/index.jsp嗎?不過咱們當時但是沒有寫 index.jsp 啊,可是依然可以成功訪問,這是爲何呢?由於瀏覽器會默認去打開 index.jsp 這個文件!

好了,言歸正傳,開始在你的 web 項目中新建一個 index.html 文件吧!而後寫上一句話。

這裏寫圖片描述

要看清了,是在 webapp 目錄下新建 html 文件。而後咱們怎麼去訪問這個界面呢?接下來咱們就來看一下最原始的頁面是如何經過 tomcat 被訪問的。咱們先找到咱們 tomcat 的安裝目錄,找到這個文件夾

這裏寫圖片描述

打開它

這裏寫圖片描述

接下來,咱們啓動 tomcat,而後訪問以下網址

這裏寫圖片描述

這個時候咱們就能夠發現,這個網址打開的就是 tomcat 中 webapp 中的 ROOT 中的 index.jsp。

當咱們去訪問以下網址的時候

這裏寫圖片描述

其實就是訪問的 examples 中的 index.html,好,到這裏也許你就明白了,而後咱們將咱們在 eclipse 中建立的 web 項目的根目錄也就是 webapp 複製到 tomcat 中的 webapps 中,複製以下文件夾

這裏寫圖片描述

而後複製到以下目錄

這裏寫圖片描述

而後訪問

這裏寫圖片描述

看到沒,看到沒,其實這裏的完整路徑應該是

這裏寫圖片描述

到這裏,你應該知道一個 web 項目是如何部署在 tomcat 上而後運行起來的了,不過,咱們使用 eclipse 不能還這樣作吧,那確定不是啦!

6.三、安裝 eclipse 的 tomcat 插件

安裝 eclipse 插件的方式有不少中,其中有一種鏈接的方式,這一塊我認爲不是什麼大問題,在 Java 中須要研究的地方太多了,咱們哪有那麼多時間去一一研究,因此像安裝插件這種事咱們掌握一種二其餘的有所瞭解就行,這裏咱們就選取將插件拷貝到 eclipse 種特定文件的方式安裝插件

這裏寫圖片描述

這個 tomcat 插件安裝完成以後會在 eclipse 中顯示三隻貓

這裏寫圖片描述

這三隻貓分別表明打開,關閉和重啓,可是若是你先在去點擊這三隻貓會出現這樣的提示

這裏寫圖片描述

這是由於咱們只是把插件安裝好了,可是並無鏈接到咱們的 tomcat,所以須要作一下配置,操做如圖

這裏寫圖片描述
緊接着

這裏寫圖片描述

這時候咱們再點擊第一隻貓啓動 tomcat

這裏寫圖片描述

成功啓動。

七、部署 web 項目

首先什麼是部署 web 項目呢?咱們須要明白的是部署項目其實就是將咱們建立的 web 項目部署在 tomcat 服務器中,這樣咱們才能夠經過瀏覽器去訪問咱們寫的頁面,咱們在以前也提到過一種部署 web 項目的方式,就是將 web 項目中的 webapp 整個文件夾拷貝到 tomcat 中的 webapps 中,這樣咱們就能夠經過拼湊訪問路徑進行訪問了,好比咱們的 web 項目中在 webapp 下咱們寫了一個 html 頁面,那麼咱們如何訪問這個頁面呢?

這裏寫圖片描述

咱們能夠將 webapp 整個文件拷貝到一下目錄中去

這裏寫圖片描述

然 後 我 們 啓 動 tomcat , 在 瀏 覽 器 中 輸 入 http://localhost/webapp/index.html就能夠訪問到咱們寫的那個頁面了。

直接說了吧,以上這種方式可行是可行可是會有不少缺點,咱們在實際開發中可能也不會用這種方式,那麼咱們須要使用哪一種方式去部署項目呢?

7.一、在 server.xml 中去配置部署 web 項目

這個方式是咱們比較經常使用的方式,具體該怎麼作呢?咱們打開 tomcat 中的 conf 文件夾,打開其中的 server.xml,找到 Host,在這個裏面進行以下配置。

這裏寫圖片描述

這裏主要配置了兩個東西,第一個是 docBase,這是一個路徑,就是咱們 web 項目中 webapp 的路徑,這個路徑能夠這樣獲取

這裏寫圖片描述

而後能夠看到

這裏寫圖片描述

這個路徑就是 docBase 的路徑,另一個是 path,這個是幹什麼的呢?首先你要明白,在 tomcat 咱們能夠部署多個項目,那麼這個 docBase 就有可能相同,那麼咱們該如何區分要訪問的是哪一個項目呢?就經過這個 path,這裏有點像是別名的意思,我這裏的 path 寫成了 ithuanqging,而後保存。

通過這樣的操做,docBase 所指的這個路徑的項目就至關於部署到了 tomcat 的服務器中,接下來咱們去訪問咱們寫的 index.html 這個文件,這個時候按理說咱們是能夠經過訪問 http://locahost:80/index.html直接訪問的,但是呢?

這裏寫圖片描述

沒法訪問,顯示 404 沒法找到頁面,這是爲何呢?由於你沒有用到咱們的別名 path 啊!其實咱們應該這樣訪問

這裏寫圖片描述

這樣就能夠正常訪問了,因此,來,再看一遍這個配置

這裏寫圖片描述

你覺得到這裏就結束了嗎?你沒以爲每次還要輸入這個 path 的名稱才能訪問很不爽嗎?

咱們先來看下咱們這樣配置以後啓動 tomcat 的時候給了咱們一個警告

這裏寫圖片描述

這個警告告訴咱們這個 path 要麼是空字符串,要麼在字符串前面加一個反斜槓,咱們先來加一個反斜槓試試(配置發生改變要從新啓動 tomcat)

這裏寫圖片描述

而後依然去訪問看看

這裏寫圖片描述

沒啥影響,正常訪問,那麼咱們再來試試空字符串

這裏寫圖片描述

而後再去訪問,

這裏寫圖片描述

這是怎麼回事?你發現沒,當咱們把 Ppath 設置成空字符串的話咱們再去訪問的時候是否是就不須要再寫 ithuanqging 這個別名

了,是否是就應該訪問 http://localhost:80/index.html這個地址呢?咱們試試

這裏寫圖片描述

好完美!接下來總結一下,最終的配置通常是這個樣子的

這裏寫圖片描述

而後咱們能夠直接這樣訪問

這裏寫圖片描述

好了,部署項目就是這些了!

八、能夠耍酷的虛擬主機(tomcat)

咱們知道,當咱們成功啓動 tomcat 的時候,咱們能夠訪問 http://localhost:80/index.html這個網址去打開這個index.html文件,可是不知道你們有沒有想過,這個 localhost 是什麼玩意啊?爲何要寫 local host 啊,想必你們還記的驗證 tomcat 是否啓動成功要經過瀏覽器訪問去驗證,通常的訪問網址格式是這個樣子的 http://本機 ip 地址:端口號/資源名字

咱們如今啓動 tomcat,而後去訪問 http://127.0.0.1:80/index.jsp

這裏寫圖片描述

出現的是這個頁面,這時候咱們輸入的那個網址在瀏覽器中是這個樣子的

這裏寫圖片描述

並且只輸入一個 127.0.0.1 也是能夠訪問到的,前提是 tomcat 成功啓動

這裏寫圖片描述

這個時候你要知道爲何只輸入一個 127.0.0.1 就能夠實現訪問,由於 tomcat 的默認端口被咱們改爲 80 了,而瀏覽器訪問統一遵循 http 協議,而 http 協議的默認端口正是 80 因此不寫也能夠,而 index.jsp 通常都會默認打開這個叫 index 的文件,所以不寫也能夠,因此說一切都是默認惹的禍,你可要清楚了。

這個時候咱們再想,爲何輸入 127.0.0.1 能夠訪問,輸入 localhost 有相同的效果呢?咱們來找到咱們電腦中的 host 文件

這裏寫圖片描述

打開它

這裏寫圖片描述

咱們看到最後一行彷佛明白了啥,在此以前咱們須要先來了解一下這個 hosts!

Hosts 是一個沒有擴展名的系統文件,能夠用記事本等工具打開,其做用就是將一些經常使用的網址域名與其對應的 IP 地址創建一個關聯「數據庫」,當用戶在瀏覽器中輸入一個須要登陸的網址時,系統會首先自動從 Hosts 文件中尋找對應的 IP 地址,一旦找到,系統會當即打開對應網頁,若是沒有找到,則系統會再將網址提交 DNS 域名解析服務器進行 IP 地址的解析。

也就是說 localhost 其實就是對應着 127.0.0.1 的,所以咱們無論輸入哪個效果都是同樣的。

如今咱們再來談一下咱們的 tomcat 虛擬主機,首先你要明白這樣一個概念,tomcat 是一個軟件服務器,當你在你的電腦中成功安裝一個 tomcat 而且成功啓動之後,這時你的電腦就成爲了一個硬件服務器,也就是一個主機(安裝了軟件服務器的電腦)

這個時候咱們再想,驗證 tomcat 爲何使用的是 localhost,爲何不是其餘的,咱們來看看 tomcat 中的這個文件

這裏寫圖片描述

又是這個文件,好吧,打開它

這裏寫圖片描述

看到沒,其實這裏的 Host 就表明虛擬主機,而咱們的名字就是 localhost,由於在咱們的電腦中 localhost 對應着 127.0.0.1 啊,下面咱們來作一下測試

這裏寫圖片描述

咱們將 name 從 localhost 改爲 ithuangqing,而後是否是能夠直接輸入 ithuangqing 進行訪問呢?咱們試一下

這裏寫圖片描述

咱們發現不行,其實咱們還差一步

這裏寫圖片描述

須要在咱們的 hosts 文件中添加這個對應代碼,添加以後保存,咱們再來試試

這裏寫圖片描述

完美成功訪問。

也就是說在 tomcat 中的 conf 中的 server.xml 中的 Host 就表明主機

這裏寫圖片描述

8.一、配置本身的虛擬主機

接下來,咱們就來配置一下本身的虛擬主機,是這個樣子的

這裏寫圖片描述

而後咱們將本來的哪一個虛擬機主機的名字還改成 localhost

這裏寫圖片描述

對了,可不要忘記這個

這裏寫圖片描述

接下來,該讓咱們的虛擬主機顯示點什麼呢?

這裏寫圖片描述

咱們在 D 盤下新建一個文件夾就叫百度,而後裏面有一個 html,就是顯示一行字「個人百度呢?」 而後將路徑配置在咱們虛擬主機中的 docBase,是這個樣子的

這裏寫圖片描述

好了,而後重啓 tomcat 服務器而後咱們輸入 localhost

這裏寫圖片描述

而後再輸入 ithuanqging

這裏寫圖片描述

完美!這個時候你再想一想,咱們的主機名字是否是能夠隨便修改啊,若是改爲 www.baidu.com是否是能夠呢?咱們試試

這裏寫圖片描述

另外別忘了修改 hosts 文件

這裏寫圖片描述

而後重啓 tomcat,輸入 http://www.baidu.com

這裏寫圖片描述

怎麼樣,是否是很。。。。好吧,其實沒啥技術含量,不過這裏有幾個問題,首先,咱們在咱們電腦中的 hosts 文件中分別將 localhost 和 ithuangqing 還有 www.baidu.com都對應着 127.0.0.1,還記的咱們以前說輸入 localhost 和輸入 127.0.0.1 是一樣的效果嗎?那個時候咱們 hosts 文件中只有一個 localhost 對應着 127.0.0.1,但是如今,你猜在瀏覽器輸入 127.0.0.1 會出現什麼?咱們來試試吧!

這裏寫圖片描述

你會說,這不還跟以前同樣嗎?好吧,確實跟以前同樣,但是咱們要往更深層理解,爲何輸入 127.0.0.1 會顯示 tomcat 的東西而不是咱們自定義的內容呢?畢竟咱們都對應着 127.0.0.1 啊,因此確定有個設置什麼的,對咱們繼續來看咱們的 server.xml

這裏寫圖片描述

咱們能夠找到這行配置,對,就是這個 defaulthost,它所對應的主機名字就是輸入 127.0.0.1 會顯示的主機所配置的內容,爲何咱們輸入 127.0.0.1 會出現 tomcat 的內容,就是由於咱們配置的虛擬主機有一個叫 localhost 的而這個默認的主機也叫 localhost,因此 localhost 和 127.0.0.1 是同樣的,所以若是咱們將這個默認的主機名字改爲 www.baidu.com那麼輸入127.0.0.1和輸入 www.baidu.com就會顯示

同樣的內容,由於此時二者是相同的。咱們來驗證一下

這裏寫圖片描述

重啓 tomcat 輸入 127.0.0.1

這裏寫圖片描述

看見沒,這正是咱們自定義的內容,也就是說如今 127.0.0.1 就等同

於 www.baidu.com,另外咱們的 hosts 文件中 ithuangqing 還對應這

127.0.0.1,是否是輸入 ithuangqing 也會顯示相同的內容

這裏寫圖片描述

答案是正確的,仍是由於此時的 127.0.0.1 已經默認對應這這個叫

www.baidu.com的虛擬機主機了。

理解最重要,就到這了。

獲取PDF版本

說實在的把這個文章更新到CSDN真心不容易,由於有太多的圖片了,若是你須要本篇文章的PDF版本,請關注微信公衆號:編碼以外,後臺回覆」湯姆貓「便可得到PDF,並且有目錄哦,學習更方便!

相關文章
相關標籤/搜索