小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

我們一起學(xué)Java之一步步學(xué)Tomcat

 心本心123 2021-11-30

學(xué)習(xí)Tomcat之前讓我們先來(lái)學(xué)習(xí)一下關(guān)于CS和BS架構(gòu)的知識(shí)吧!

(一)、 CS 和 BS 架構(gòu)

關(guān)于 CS 和 BS 架構(gòu)相信大家也都聽(tīng)說(shuō)過(guò),或許只是這個(gè)概念沒(méi)有那么清楚,其實(shí)無(wú)論 CS 還是 BS 都是軟件架構(gòu)的兩種不同的表現(xiàn)形式而已,我們看下面的簡(jiǎn)單介紹!

C/S:Client/Server:客戶端和服務(wù)端

B/S:Browser/Server:瀏覽器和服務(wù)端的架構(gòu)(通過(guò)瀏覽器訪問(wèn)的應(yīng)用)

1、C/S 簡(jiǎn)介#

采用 CS 架構(gòu)的一些軟件一般都是運(yùn)行在電腦桌面上:比如 QQ,一些視頻軟件的客戶端。等

開(kāi)發(fā)語(yǔ)言:VB,VC++,C#,Java 中的 swing,awt 等

1.1、特點(diǎn)#

一般的,服務(wù)端僅僅是安裝一個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù)存儲(chǔ),所有程序的代碼(功能和界面)都編寫在客戶端軟件中(把所有的業(yè)務(wù)邏輯都編寫在了客戶端),界面渲染也在客戶端

1.2、架構(gòu)的優(yōu)缺點(diǎn)#

優(yōu)點(diǎn):直觀,用戶體驗(yàn)好,界面美觀,安全性要高一點(diǎn)。等

缺點(diǎn):升級(jí)需要重新安裝,移植性較低,開(kāi)發(fā)和維護(hù)成本要高。

2、B/S 簡(jiǎn)介#

采用這種架構(gòu)的軟件一般都是通過(guò)瀏覽器訪問(wèn),比如門戶網(wǎng)站,管理系統(tǒng)等。

其實(shí) B/S 屬于特殊的 C/S,因?yàn)闉g覽器就是一個(gè)特殊的客戶端。安裝在電腦上。

開(kāi)發(fā)語(yǔ)言:JSP,PHP,ASP 等

2.1、特點(diǎn)#

在服務(wù)端編寫代碼,所有的業(yè)務(wù)邏輯都由服務(wù)端完成,客戶端只負(fù)責(zé)界面的渲染展示

2.2、優(yōu)缺點(diǎn)#

優(yōu)點(diǎn):可移植性高,開(kāi)發(fā)和維護(hù)較好

缺點(diǎn):用戶體驗(yàn)不夠好,界面不夠豐富,安全性很低。

3、綜合(瘦富客戶端)#

3.1、瘦客戶端#

也即是傳統(tǒng)的 BS 架構(gòu),服務(wù)端主要負(fù)責(zé)業(yè)務(wù)邏輯的處理,而客戶端

則是負(fù)責(zé)頁(yè)面的渲染,其中的優(yōu)缺點(diǎn)也即是上面說(shuō)的。

3.2、富客戶端#

富客戶端其實(shí)是 BS 架構(gòu)和 CS 架構(gòu)的一種結(jié)合,這種客戶端的特點(diǎn)就是界面華麗,綜合兩種架構(gòu)的優(yōu)點(diǎn),在富客戶端中,服務(wù)端依然是主要負(fù)責(zé)業(yè)務(wù)邏輯的處理,區(qū)別在于客戶端,不像傳統(tǒng)的 BS 架構(gòu)中客戶端只負(fù)責(zé)界面的渲染,頭同時(shí)客戶端還會(huì)處理少量的業(yè)務(wù)邏輯。

用到的開(kāi)發(fā)技術(shù):Extjs,F(xiàn)lash,EasyUI,JavaFX 等。使用的語(yǔ)言是

JavaScript 或者 action script

(二)、什么是服務(wù)器(Tomcat)

服務(wù)器一般分為軟件服務(wù)器和硬件服務(wù)器,總的來(lái)說(shuō)服務(wù)器就是提供服務(wù)的,就好比,你可以給服務(wù)器要點(diǎn)什么,他可以給你返回點(diǎn)什么,你也可以在他那存放點(diǎn)什么,沒(méi)有它有些事你還做不了。接下來(lái)我們就軟件服務(wù)器和硬件服務(wù)器簡(jiǎn)單做下介紹。

1、軟件服務(wù)器#

軟件服務(wù)器軟件服務(wù)器其實(shí)就是一個(gè)軟件,這個(gè)軟件提供了 BS 應(yīng)用運(yùn)行的環(huán)境。也就是說(shuō)沒(méi)有這個(gè)軟件,采用 bs 架構(gòu)的軟件就無(wú)法運(yùn)行。

2、硬件服務(wù)器#

這里的硬件服務(wù)器其實(shí)就可以理解成我們平常說(shuō)的主機(jī),其實(shí)就是一臺(tái)電腦,只不過(guò)這臺(tái)電腦上安裝了軟件服務(wù)器

(三)、Tomcat 通關(guān)

3.1、什么是 Tomcat#

Tomcat 其實(shí)就是一個(gè)軟件服務(wù)器,當(dāng)我們的電腦上安裝了 Tomcat,那么我們的電腦就成了一個(gè)硬件服務(wù)器,也可以說(shuō)是主機(jī),它為我們提供了一些必要的運(yùn)行環(huán)境。

3.2、Tomcat 的目錄結(jié)構(gòu)#

好吧,我決定先來(lái)說(shuō)說(shuō) Tomcat 的目錄結(jié)構(gòu)。

bin 目錄:這里面主要是 Tomcat 的工具,比如啟動(dòng),關(guān)閉等。 conf:這個(gè)目錄里面是 Tomcat 的配置文件

lib:這個(gè)是非常重要的一個(gè)文件夾,里面存放著 Tomcat 的核心 jar 包以及一些依賴的 jar 包,其實(shí)就是放 jar 包的地方。

logs:日志文件

temp:這是一個(gè)臨時(shí)目錄,里面會(huì)有上傳文件時(shí)的臨時(shí)文件。

webapps:默認(rèn)情況下,這是部署項(xiàng)目的路徑。

work:英文單詞工作的意思,所以這是一個(gè)工作目錄,里面主要裝 JSP 翻譯成 Java 文件的代碼。

3.3、Tomcat 的安裝#

這里寫圖片描述
這里寫圖片描述

對(duì)于 Tomcat 的安裝最重要的是配置,當(dāng)你下載好一個(gè) Tomcat(下載如圖),并且解壓完成你會(huì)得到一個(gè) Tomcat 的文件夾,打開(kāi)就是上面介紹的那幾個(gè)文件夾了,在上面也說(shuō)過(guò),Tomcat 的啟動(dòng)實(shí)在 bin 目錄下的,直接說(shuō)了吧就是 startup.bat,你雙擊這個(gè)文件就是啟動(dòng) Tomcat,但是往往你會(huì)遇到這樣的問(wèn)題“一閃而過(guò)”

這個(gè)時(shí)候我們一般很想知道,這是為什么啊,我們可以通過(guò) dos 來(lái)查看原因,在此文件夾下打開(kāi) dos 窗口輸入 startup.bat 然后回車,你會(huì)看到這樣的提示

這里寫圖片描述

什么意思呢?大概意思就是缺少 JAVA_HOME 或者 JRE_HOME 的運(yùn)行環(huán)境導(dǎo)致這個(gè)應(yīng)用無(wú)法執(zhí)行,嗯就這樣理解。

現(xiàn)在知道是什么問(wèn)題了,那就要去解決這個(gè)問(wèn)題從錯(cuò)誤的原因我們知道應(yīng)該去配置 JAVA_HOME 或者 JRE_HOME,在此之前我們先要來(lái)說(shuō)以

下這個(gè) JAVA_HOME 和 JRE_HOME 到底是個(gè)什么東西,有什么用?

首先這兩個(gè)東西都是一種約定,就這樣的,是一個(gè)約定好的變量,當(dāng)某些程序需要用到的話就會(huì)默認(rèn)的去找 JAVA_HOME 或者 JRE_HOME,然后拿到他們的值,這里就拿我們的 Tomcat 來(lái)說(shuō),當(dāng)你雙擊 startup.bat 來(lái)啟動(dòng) Tomcat 的時(shí)候,它就會(huì)默認(rèn)去取 JAVA_HOME 或者

JRE_HOME 來(lái)用,另外 Tomcat 的運(yùn)行是不需要 JDK 中的工具的只需要 JRE 來(lái)提供運(yùn)行環(huán)境即可,也即是說(shuō)要想啟動(dòng) Tomcat 必須要有

JAVA_HOME 或者 JRE_HOME,當(dāng)兩者都不為空的時(shí)候默認(rèn)使用

JRE_HOME。

那么 JAVA_HOME 具體值的是什么呢?這個(gè)想必大家都很清楚,通常它指的就是 JDK 的目錄,如果需要 JDK 的話,大部分程序都會(huì)默認(rèn)的去環(huán)境變量中取這個(gè)值來(lái)用,同樣 JRE_HOME 就是指的 jre 目錄了,當(dāng)程序不需要 JDK 而需要 Java 的一個(gè)運(yùn)行環(huán)境時(shí)就會(huì)取這個(gè)值了。相信說(shuō)到這里你已經(jīng)明白的差不多了,接下來(lái)我們就去配置這個(gè)

JAVA_HOME 吧?。ㄒ?yàn)?JAVA_HOME 比較全能,所以選擇配置它),如果覺(jué)的接下來(lái)我會(huì)直接告訴大家怎么配置那你就錯(cuò)了。

3.3.1、在系統(tǒng)環(huán)境變量中配置#

首先,最常規(guī)的就是在我們的電腦中的系統(tǒng)環(huán)境變量中取配置

JAVA_HOME 了,這個(gè)想必大家都會(huì),這里不多說(shuō),直接上圖。

這里寫圖片描述

OK,經(jīng)過(guò)這樣的操作就可以正常啟動(dòng) Tomcat 了。

3.3.2、在 startup.bat 中配置#

在系統(tǒng)環(huán)境變量中配置是一種方法,這個(gè)大家都知道想必也都會(huì),這就沒(méi)法裝逼了,我們需要知道一種有那么幾個(gè)人不知道的方法,接下來(lái)我們把系統(tǒng)環(huán)境變量中配置的 JAVA_HOME 刪除掉,接下來(lái)我們將 startup.bat 以記事本方式打開(kāi)。如下圖

這里寫圖片描述

在圖中所示位置添加上 set JAVA_HOME=D:\Java\jdk_8u131 然后保存即可。同樣可以正常啟動(dòng) Tomcat。

如果別人不知道這個(gè)方法,發(fā)現(xiàn)你的系統(tǒng)環(huán)境變量中沒(méi)有配置

JAVA_HOME 但是卻可以啟動(dòng) Tomcat,你說(shuō)他會(huì)怎么想,另外在 startup.bat 文件的最后加上一個(gè) pause,你猜有什么效果?

這里寫圖片描述

3.3.3、如何判定 Tomcat 啟動(dòng)成功#

我們可以通過(guò)瀏覽器訪問(wèn)來(lái)確認(rèn)服務(wù)是否啟動(dòng)成功,那么如何訪問(wèn)呢?我們可以通過(guò)如下兩種方式

http://服務(wù)器所在主機(jī)的 IP:服務(wù)器的端口號(hào)/資源名字

http://服務(wù)器所在主機(jī)的名字:服務(wù)器的端口號(hào)/資源名字

一般我們的服務(wù)都是在本機(jī),因此可以通過(guò)如下方式訪問(wèn)

http://本機(jī)的 IP:服務(wù)器的端口號(hào)/資源名字
http://localhost:服務(wù)器的端口號(hào)/資源名字

我們這里通過(guò) http://localhost:服務(wù)器的端口號(hào)來(lái)進(jìn)行測(cè)試,這里要知道 Tomcat 的默認(rèn)端口號(hào)是 8080,這個(gè)怎么看呢?我們?cè)俅吸c(diǎn)擊 startup.bat

這里寫圖片描述

在瀏覽器中輸入 http://localhost:8080/當(dāng)看到如下這個(gè)界面表示 Tomcat 安裝成功且已經(jīng)啟動(dòng)

這里寫圖片描述

這個(gè)時(shí)候你要注意,以下界面是不能關(guān)閉的。

這里寫圖片描述

4、Tomcat 常見(jiàn)錯(cuò)誤#

4.1、沒(méi)有成功啟動(dòng) Tomcat 就開(kāi)始訪問(wèn)#

這樣的后果是會(huì)導(dǎo)致無(wú)法顯示此網(wǎng)頁(yè),比如你雙擊 startup.bat 啟動(dòng)了 Tomcat,但是手賤一下又給關(guān)了,這樣你去訪問(wèn)網(wǎng)頁(yè)的時(shí)候就會(huì)出現(xiàn)這個(gè)情況

這里寫圖片描述

所以一定要記住,啟動(dòng)了 Tomcat 之后就將它最小化吧。

4.2、出現(xiàn) 404 的錯(cuò)誤#

這是一個(gè)非常經(jīng)典的錯(cuò)誤,我們先來(lái)看下這個(gè)錯(cuò)誤界面

這里寫圖片描述

之所以會(huì)出現(xiàn)這個(gè)界面是因?yàn)槟阍L問(wèn)的頁(yè)面不存在,另外不知道大家有沒(méi)有這樣的疑惑,我們之前說(shuō)驗(yàn)證 Tomcat 是否安裝成功訪問(wèn)

http://localhost:服務(wù)器端口號(hào)/資源名字,
但是我們?cè)L問(wèn)的時(shí)候只是輸入了 http://localhost:8080,那么這個(gè)資源名字呢?其實(shí)完整的路徑是這樣子的

這里寫圖片描述

只不過(guò)這里的 index.jsp 被默認(rèn)隱藏了,也就是即使我們不寫他也是取默認(rèn)打開(kāi)這個(gè)界面,因此當(dāng)你輸入的界面不存在就會(huì)出現(xiàn) 404 的錯(cuò)誤啦,比如這樣

這里寫圖片描述

4.3、重復(fù)啟動(dòng),端口沖突#

這個(gè)是什么意思呢?你如說(shuō)你現(xiàn)在已經(jīng)啟動(dòng)一個(gè) Tomcat 了,你又雙擊 startup.bat,結(jié)果會(huì)發(fā)現(xiàn)一閃而過(guò),這個(gè)時(shí)候你也許會(huì)疑惑,這是怎么回事,這個(gè)時(shí)候你最好先看看是不是已經(jīng)有一個(gè) Tomcat 被啟動(dòng)了,想準(zhǔn)確的查看錯(cuò)誤信息我們可以去查看錯(cuò)誤日志,還記的錯(cuò)誤日志在哪嗎?

這里寫圖片描述

日志文件是在 logs 目錄下的,我們找到錯(cuò)誤日志文件打開(kāi)它,翻到最后

這里寫圖片描述

我們會(huì)發(fā)現(xiàn)這里有一個(gè)經(jīng)典的錯(cuò)誤,Tomcat 的端口已經(jīng)被占用,端口沖突。

4.4、不能亂改 Tomcat 中配置文件的結(jié)構(gòu)#

這個(gè)一般就是我們不小心將 Tomcat 文件中的配置文件修改了,當(dāng)發(fā)生這種情況,我們一般要先去查看日志文件,從文件中去查找原因然后再修改,這里我們做一個(gè)例子。我們打開(kāi)配置文件夾 conf,然后將里面的配置文件 server.xml 文件稍作修改來(lái)模擬我們不小心改動(dòng)了配置文件導(dǎo)致出錯(cuò)。

這里寫圖片描述

我們?cè)囍鴮⑦@個(gè)刪除,然后保存我們?cè)龠\(yùn)行 Tomcat 試試,這時(shí)候會(huì)一閃而過(guò),明顯是出問(wèn)題了,接下來(lái)我們?nèi)ゲ榭慈罩疚募?/p>

這里寫圖片描述

我們可以看到,給出的日志還是非常詳細(xì)的。

5、關(guān)于 Tomcat 的端口和服務(wù)器#

5.1、如何修改默認(rèn)端口#

我們知道 Tomcat 的默認(rèn)端口是 8080,這樣我們?cè)谠L問(wèn)的時(shí)候就需要這樣 http://localhost:8080/資源名字,我們知道 http 協(xié)議的默認(rèn)端口是 80,而我們?cè)谶M(jìn)行網(wǎng)絡(luò)訪問(wèn)的時(shí)候,默認(rèn)都是遵循 http 協(xié)議的,因此如果我們的 Tomcat 的端口是 80 的話,我們?cè)谠L問(wèn)的時(shí)候就可以不寫端口號(hào)了也就是 http://localhost/資源名字,接下來(lái)我們來(lái)修改一下 Tomcat 的默認(rèn)端口。這個(gè)該怎么修改呢?我們打開(kāi) Tomcat 的配置文件,然后打開(kāi) server.xml,可以看到這些

這里寫圖片描述

沒(méi)錯(cuò)我們就可以在這里修改默認(rèn)端口,我們將它修改成 80,然后保存。這個(gè)時(shí)候我們?cè)傧袢缦路绞皆L問(wèn)就是不成功的。

這里寫圖片描述

必須是如下這個(gè)樣子

這里寫圖片描述

好吧,我相信你已經(jīng)懂了。

5.2、將 Tomcat 作為服務(wù)器安裝在電腦上#

首先我們要知道 Tomcat 的安裝有兩種形式,一種就是我們之前一直在講的解壓免安裝版的,這個(gè)解壓之后,配置好環(huán)境變量也就是

JAVA_HOME 就可以直接使用了。

另外一種是安裝版的,這個(gè)有一定的好處就是可以設(shè)置成開(kāi)機(jī)自啟,這樣就省去了我們每次啟動(dòng) Tomcat 的麻煩。

那么如何將我們的 Tomcat 作為服務(wù)器安裝在電腦上呢?其實(shí)也很簡(jiǎn)單,我們一起來(lái)看看,在 Tomcat 的 bin 目錄下有一個(gè) service.bat 文件,這個(gè)文件就代表安裝和卸載,我們?cè)诋?dāng)前目錄下打開(kāi) CMD,這里給大家說(shuō)一個(gè)技巧,不知道大家平常如果要在當(dāng)前目錄下打開(kāi) cmd 都是怎么做的,是不是 win+r 輸入 cmd,然后使用 cd 切換到當(dāng)前目錄下呢?如果你是這樣那就太落后了

這里寫圖片描述

這個(gè)技巧我一般人還不告訴他們呢?進(jìn)入 dos 窗口之后我們執(zhí)行以下操作

這里寫圖片描述

這樣我們就成功安裝了,怎么驗(yàn)證呢?我們打開(kāi)服務(wù)界面

這里寫圖片描述

可以看到 Tomcat 已經(jīng)作為我們的服務(wù)安裝在了本地,當(dāng)然我們還可以使用 service remove 來(lái)卸載 Tomcat!

5.3、tomcat 的安全配置#

我們先來(lái)看下這個(gè)界面

這里寫圖片描述

肯定不陌生吧!你們知道這個(gè)頁(yè)面對(duì)應(yīng) tomcat 中的哪個(gè)文件嗎?我們來(lái)看看

這里寫圖片描述

其實(shí)我們?cè)L問(wèn) localhost 就是默認(rèn)打開(kāi)的 ROOT 這個(gè)文件夾中的內(nèi)容,那么我們?cè)賮?lái)看這個(gè)頁(yè)面上的其他內(nèi)容

這里寫圖片描述

比如這個(gè) Documentation,我們點(diǎn)擊

這里寫圖片描述

這就是 tomcat 的文檔內(nèi)容。那么這個(gè)頁(yè)面有對(duì)應(yīng) tomcat 中的哪個(gè)文件夾呢?

這里寫圖片描述

對(duì)就是這個(gè) docs。接下來(lái)我們看這個(gè)、

這里寫圖片描述

點(diǎn)擊下看看

這里寫圖片描述

竟然讓輸入用戶名和密碼,這個(gè)好像真不知道,怎么辦,還是先取消吧

這里寫圖片描述

哎呦,出現(xiàn)了這個(gè)頁(yè)面,仔細(xì)一看,很有用啊,意思就是我們可以自己設(shè)置賬戶密碼,去哪設(shè)置呢?在 conf/tomcat-users.xml 這個(gè)里面,好,咱去看看

這里寫圖片描述

就是這個(gè),打開(kāi)它

這里寫圖片描述

是這個(gè)樣子的,然后怎么辦,我們?cè)倏粗暗哪莻€(gè) 401 界面,其中提到好像要輸入這些內(nèi)容

這里寫圖片描述

好,我們直接復(fù)制過(guò)去

這里寫圖片描述

然后保存,我們?cè)囍@個(gè)賬戶和密碼去登錄一下試試

這里寫圖片描述
對(duì)了,tomcat 可是要重新啟動(dòng)才行的。

這里寫圖片描述

看見(jiàn)沒(méi),登錄進(jìn)來(lái)了,而且別有洞天啊。

這里寫圖片描述

我們點(diǎn)擊這個(gè)

這里寫圖片描述

你看到了什么?這其實(shí)就是部署在 tomcat 中的項(xiàng)目也就是這些

這里寫圖片描述

好啦,差不多了,好好理解理解!

6、如何配置 Javaweb 項(xiàng)目#

6.1、標(biāo)準(zhǔn) web 結(jié)構(gòu)#

這里寫圖片描述

根據(jù)這個(gè)圖要能夠手動(dòng)創(chuàng)建一個(gè) web 項(xiàng)目文件,其中的 web.xml 文件中的內(nèi)容可以到 Tomcat 中的示例文件中去拷貝,然后只保留根部文件即可,也就是這個(gè)

這里寫圖片描述

6.2、使用 eclipse 搭建一個(gè)干凈的 web 項(xiàng)目#

這里寫圖片描述

這里面有兩點(diǎn)需要注意,第一就是 web.xml 這個(gè)文件不要忘記了,可以去 tomcat 的示例文件中去拷貝,最后要是圖中那個(gè)樣子,第二點(diǎn)就是一般的 Java 項(xiàng)目,編譯后的文件都會(huì)存放在 bin 目錄,這個(gè)可以怎么看呢?我們打開(kāi)這個(gè)項(xiàng)目的根目錄

這里寫圖片描述

打開(kāi)這個(gè)文件,會(huì)看到這樣的

這里寫圖片描述

但是這里我們要去改變這個(gè)路徑,怎么改呢?在你的項(xiàng)目名字上右擊選擇 build path,然后選擇最后一個(gè)配置 path

這里寫圖片描述

緊接著選擇我們項(xiàng)目下的 WEB-INF 中的 classes 作為此路徑

這里寫圖片描述

點(diǎn)擊 ok,我們?cè)倏纯创藭r(shí)的路徑

這里寫圖片描述

而且你發(fā)現(xiàn)沒(méi),此時(shí)我們項(xiàng)目中的 classes 這個(gè)文件也沒(méi)有了。

當(dāng)搭建好一個(gè)純凈的 web 項(xiàng)目時(shí),我們?cè)趺慈ゲ渴痦?xiàng)目呢?我們先來(lái)寫一個(gè) html 文件,就叫做 index.html,也許你會(huì)問(wèn)為什么叫 index 啊,其實(shí)叫什么都無(wú)所謂,但是你要知道在訪問(wèn)的時(shí)候會(huì)默認(rèn)去訪問(wèn)叫 index 的文件,還記得之前我們啟動(dòng) Tomcat 的時(shí)候去瀏覽器訪問(wèn) http://localhost:8080/index.jsp嗎?不過(guò)我們當(dāng)時(shí)可是沒(méi)有寫 index.jsp 啊,但是依然能夠成功訪問(wèn),這是為什么呢?因?yàn)闉g覽器會(huì)默認(rèn)去打開(kāi) index.jsp 這個(gè)文件!

好了,言歸正傳,開(kāi)始在你的 web 項(xiàng)目中新建一個(gè) index.html 文件吧!然后寫上一句話。

這里寫圖片描述

要看清了,是在 webapp 目錄下新建 html 文件。然后我們?cè)趺慈ピL問(wèn)這個(gè)界面呢?接下來(lái)我們就來(lái)看一下最原始的頁(yè)面是如何通過(guò) tomcat 被訪問(wèn)的。我們先找到我們 tomcat 的安裝目錄,找到這個(gè)文件夾

這里寫圖片描述

打開(kāi)它

這里寫圖片描述

接下來(lái),我們啟動(dòng) tomcat,然后訪問(wèn)如下網(wǎng)址

這里寫圖片描述

這個(gè)時(shí)候我們就可以發(fā)現(xiàn),這個(gè)網(wǎng)址打開(kāi)的就是 tomcat 中 webapp 中的 ROOT 中的 index.jsp。

當(dāng)我們?nèi)ピL問(wèn)如下網(wǎng)址的時(shí)候

這里寫圖片描述

其實(shí)就是訪問(wèn)的 examples 中的 index.html,好,到這里也許你就明白了,然后我們將我們?cè)?eclipse 中創(chuàng)建的 web 項(xiàng)目的根目錄也就是 webapp 復(fù)制到 tomcat 中的 webapps 中,復(fù)制如下文件夾

這里寫圖片描述

然后復(fù)制到如下目錄

這里寫圖片描述

然后訪問(wèn)

這里寫圖片描述

看到?jīng)],看到?jīng)],其實(shí)這里的完整路徑應(yīng)該是

這里寫圖片描述

到這里,你應(yīng)該知道一個(gè) web 項(xiàng)目是如何部署在 tomcat 上然后運(yùn)行起來(lái)的了,不過(guò),我們使用 eclipse 不能還這樣做吧,那肯定不是啦!

6.3、安裝 eclipse 的 tomcat 插件#

安裝 eclipse 插件的方式有很多中,其中有一種連接的方式,這一塊我認(rèn)為不是什么大問(wèn)題,在 Java 中需要研究的地方太多了,我們哪有那么多時(shí)間去一一研究,所以像安裝插件這種事我們掌握一種二其他的有所了解就行,這里我們就選取將插件拷貝到 eclipse 種特定文件的方式安裝插件

這里寫圖片描述

這個(gè) tomcat 插件安裝完成之后會(huì)在 eclipse 中顯示三只貓

這里寫圖片描述

這三只貓分別代表打開(kāi),關(guān)閉和重啟,但是如果你先在去點(diǎn)擊這三只貓會(huì)出現(xiàn)這樣的提示

這里寫圖片描述

這是因?yàn)槲覀冎皇前巡寮惭b好了,但是并沒(méi)有連接到我們的 tomcat,因此需要做一下配置,操作如圖

這里寫圖片描述
緊接著

這里寫圖片描述

這時(shí)候我們?cè)冱c(diǎn)擊第一只貓啟動(dòng) tomcat

這里寫圖片描述

成功啟動(dòng)。

7、部署 web 項(xiàng)目#

首先什么是部署 web 項(xiàng)目呢?我們需要明白的是部署項(xiàng)目其實(shí)就是將我們創(chuàng)建的 web 項(xiàng)目部署在 tomcat 服務(wù)器中,這樣我們才可以通過(guò)瀏覽器去訪問(wèn)我們寫的頁(yè)面,我們?cè)谥耙蔡岬竭^(guò)一種部署 web 項(xiàng)目的方式,就是將 web 項(xiàng)目中的 webapp 整個(gè)文件夾拷貝到 tomcat 中的 webapps 中,這樣我們就可以通過(guò)拼湊訪問(wèn)路徑進(jìn)行訪問(wèn)了,比如我們的 web 項(xiàng)目中在 webapp 下我們寫了一個(gè) html 頁(yè)面,那么我們?nèi)绾卧L問(wèn)這個(gè)頁(yè)面呢?

這里寫圖片描述

我們可以將 webapp 整個(gè)文件拷貝到一下目錄中去

這里寫圖片描述

然 后 我 們 啟 動(dòng) tomcat , 在 瀏 覽 器 中 輸 入 http://localhost/webapp/index.html就可以訪問(wèn)到我們寫的那個(gè)頁(yè)面了。

直接說(shuō)了吧,以上這種方式可行是可行但是會(huì)有很多缺點(diǎn),我們?cè)趯?shí)際開(kāi)發(fā)中可能也不會(huì)用這種方式,那么我們需要使用哪種方式去部署項(xiàng)目呢?

7.1、在 server.xml 中去配置部署 web 項(xiàng)目#

這個(gè)方式是我們比較常用的方式,具體該怎么做呢?我們打開(kāi) tomcat 中的 conf 文件夾,打開(kāi)其中的 server.xml,找到 Host,在這個(gè)里面進(jìn)行如下配置。

這里寫圖片描述

這里主要配置了兩個(gè)東西,第一個(gè)是 docBase,這是一個(gè)路徑,就是我們 web 項(xiàng)目中 webapp 的路徑,這個(gè)路徑可以這樣獲取

這里寫圖片描述

然后可以看到

這里寫圖片描述

這個(gè)路徑就是 docBase 的路徑,另外一個(gè)是 path,這個(gè)是干什么的呢?首先你要明白,在 tomcat 我們可以部署多個(gè)項(xiàng)目,那么這個(gè) docBase 就有可能相同,那么我們?cè)撊绾螀^(qū)分要訪問(wèn)的是哪個(gè)項(xiàng)目呢?就通過(guò)這個(gè) path,這里有點(diǎn)像是別名的意思,我這里的 path 寫成了 ithuanqging,然后保存。

經(jīng)過(guò)這樣的操作,docBase 所指的這個(gè)路徑的項(xiàng)目就相當(dāng)于部署到了 tomcat 的服務(wù)器中,接下來(lái)我們?nèi)ピL問(wèn)我們寫的 index.html 這個(gè)文件,這個(gè)時(shí)候按理說(shuō)我們是可以通過(guò)訪問(wèn) http://locahost:80/index.html直接訪問(wèn)的,可是呢?

這里寫圖片描述

無(wú)法訪問(wèn),顯示 404 無(wú)法找到頁(yè)面,這是為什么呢?因?yàn)槟銢](méi)有用到我們的別名 path ?。∑鋵?shí)我們應(yīng)該這樣訪問(wèn)

這里寫圖片描述

這樣就可以正常訪問(wèn)了,所以,來(lái),再看一遍這個(gè)配置

這里寫圖片描述

你以為到這里就結(jié)束了嗎?你沒(méi)覺(jué)得每次還要輸入這個(gè) path 的名稱才能訪問(wèn)很不爽嗎?

我們先來(lái)看下我們這樣配置之后啟動(dòng) tomcat 的時(shí)候給了我們一個(gè)警告

這里寫圖片描述

這個(gè)警告告訴我們這個(gè) path 要么是空字符串,要么在字符串前面加一個(gè)反斜杠,我們先來(lái)加一個(gè)反斜杠試試(配置發(fā)生改變要重新啟動(dòng) tomcat)

這里寫圖片描述

然后依然去訪問(wèn)看看

這里寫圖片描述

沒(méi)啥影響,正常訪問(wèn),那么我們?cè)賮?lái)試試空字符串

這里寫圖片描述

然后再去訪問(wèn),

這里寫圖片描述

這是怎么回事?你發(fā)現(xiàn)沒(méi),當(dāng)我們把 Ppath 設(shè)置成空字符串的話我們?cè)偃ピL問(wèn)的時(shí)候是不是就不需要再寫 ithuanqging 這個(gè)別名

了,是不是就應(yīng)該訪問(wèn) http://localhost:80/index.html這個(gè)地址呢?我們?cè)囋?/p>

這里寫圖片描述

好完美!接下來(lái)總結(jié)一下,最終的配置一般是這個(gè)樣子的

這里寫圖片描述

然后我們可以直接這樣訪問(wèn)

這里寫圖片描述

好了,部署項(xiàng)目就是這些了!

8、可以??岬奶摂M主機(jī)(tomcat)#

我們知道,當(dāng)我們成功啟動(dòng) tomcat 的時(shí)候,我們可以訪問(wèn) http://localhost:80/index.html這個(gè)網(wǎng)址去打開(kāi)這個(gè)index.html文件,但是不知道大家有沒(méi)有想過(guò),這個(gè) localhost 是什么玩意???為什么要寫 local host 啊,想必大家還記的驗(yàn)證 tomcat 是否啟動(dòng)成功要通過(guò)瀏覽器訪問(wèn)去驗(yàn)證,一般的訪問(wèn)網(wǎng)址格式是這個(gè)樣子的 http://本機(jī) ip 地址:端口號(hào)/資源名字

我們現(xiàn)在啟動(dòng) tomcat,然后去訪問(wèn) http://127.0.0.1:80/index.jsp

這里寫圖片描述

出現(xiàn)的是這個(gè)頁(yè)面,這時(shí)候我們輸入的那個(gè)網(wǎng)址在瀏覽器中是這個(gè)樣子的

這里寫圖片描述

而且只輸入一個(gè) 127.0.0.1 也是可以訪問(wèn)到的,前提是 tomcat 成功啟動(dòng)

這里寫圖片描述

這個(gè)時(shí)候你要知道為什么只輸入一個(gè) 127.0.0.1 就可以實(shí)現(xiàn)訪問(wèn),因?yàn)?tomcat 的默認(rèn)端口被我們改成 80 了,而瀏覽器訪問(wèn)統(tǒng)一遵循 http 協(xié)議,而 http 協(xié)議的默認(rèn)端口正是 80 所以不寫也可以,而 index.jsp 一般都會(huì)默認(rèn)打開(kāi)這個(gè)叫 index 的文件,因此不寫也可以,所以說(shuō)一切都是默認(rèn)惹的禍,你可要清楚了。

這個(gè)時(shí)候我們?cè)傧?,為什么輸?127.0.0.1 可以訪問(wèn),輸入 localhost 有相同的效果呢?我們來(lái)找到我們電腦中的 host 文件

這里寫圖片描述

打開(kāi)它

這里寫圖片描述

我們看到最后一行似乎明白了啥,在此之前我們需要先來(lái)了解一下這個(gè) hosts!

Hosts 是一個(gè)沒(méi)有擴(kuò)展名的系統(tǒng)文件,可以用記事本等工具打開(kāi),其作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的 IP 地址建立一個(gè)關(guān)聯(lián)“數(shù)據(jù)庫(kù)”,當(dāng)用戶在瀏覽器中輸入一個(gè)需要登錄的網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從 Hosts 文件中尋找對(duì)應(yīng)的 IP 地址,一旦找到,系統(tǒng)會(huì)立即打開(kāi)對(duì)應(yīng)網(wǎng)頁(yè),如果沒(méi)有找到,則系統(tǒng)會(huì)再將網(wǎng)址提交 DNS 域名解析服務(wù)器進(jìn)行 IP 地址的解析。

也就是說(shuō) localhost 其實(shí)就是對(duì)應(yīng)著 127.0.0.1 的,因此我們不管輸入哪一個(gè)效果都是一樣的。

現(xiàn)在我們?cè)賮?lái)談一下我們的 tomcat 虛擬主機(jī),首先你要明白這樣一個(gè)概念,tomcat 是一個(gè)軟件服務(wù)器,當(dāng)你在你的電腦中成功安裝一個(gè) tomcat 并且成功啟動(dòng)以后,這時(shí)你的電腦就成為了一個(gè)硬件服務(wù)器,也就是一個(gè)主機(jī)(安裝了軟件服務(wù)器的電腦)

這個(gè)時(shí)候我們?cè)傧?,?yàn)證 tomcat 為什么使用的是 localhost,為什么不是其他的,我們來(lái)看看 tomcat 中的這個(gè)文件

這里寫圖片描述

又是這個(gè)文件,好吧,打開(kāi)它

這里寫圖片描述

看到?jīng)],其實(shí)這里的 Host 就代表虛擬主機(jī),而我們的名字就是 localhost,因?yàn)樵谖覀兊碾娔X中 localhost 對(duì)應(yīng)著 127.0.0.1 啊,下面我們來(lái)做一下測(cè)試

這里寫圖片描述

我們將 name 從 localhost 改成 ithuangqing,然后是不是可以直接輸入 ithuangqing 進(jìn)行訪問(wèn)呢?我們?cè)囈幌?/p>

這里寫圖片描述

我們發(fā)現(xiàn)不行,其實(shí)我們還差一步

這里寫圖片描述

需要在我們的 hosts 文件中添加這個(gè)對(duì)應(yīng)代碼,添加之后保存,我們?cè)賮?lái)試試

這里寫圖片描述

完美成功訪問(wèn)。

也就是說(shuō)在 tomcat 中的 conf 中的 server.xml 中的 Host 就代表主機(jī)

這里寫圖片描述

8.1、配置自己的虛擬主機(jī)#

接下來(lái),我們就來(lái)配置一下自己的虛擬主機(jī),是這個(gè)樣子的

這里寫圖片描述

然后我們將原本的哪個(gè)虛擬機(jī)主機(jī)的名字還改為 localhost

這里寫圖片描述

對(duì)了,可不要忘記這個(gè)

這里寫圖片描述

接下來(lái),該讓我們的虛擬主機(jī)顯示點(diǎn)什么呢?

這里寫圖片描述

我們?cè)?D 盤下新建一個(gè)文件夾就叫百度,然后里面有一個(gè) html,就是顯示一行字“我的百度呢?” 然后將路徑配置在我們虛擬主機(jī)中的 docBase,是這個(gè)樣子的

這里寫圖片描述

好了,然后重啟 tomcat 服務(wù)器然后我們輸入 localhost

這里寫圖片描述

然后再輸入 ithuanqging

這里寫圖片描述

完美!這個(gè)時(shí)候你再想想,我們的主機(jī)名字是不是可以隨便修改啊,如果改成 www.baidu.com是不是可以呢?我們?cè)囋?/p>

這里寫圖片描述

另外別忘了修改 hosts 文件

這里寫圖片描述

然后重啟 tomcat,輸入 http://www.baidu.com

這里寫圖片描述

怎么樣,是不是很。。。。好吧,其實(shí)沒(méi)啥技術(shù)含量,不過(guò)這里有幾個(gè)問(wèn)題,首先,我們?cè)谖覀冸娔X中的 hosts 文件中分別將 localhost 和 ithuangqing 還有 www.baidu.com都對(duì)應(yīng)著 127.0.0.1,還記的我們之前說(shuō)輸入 localhost 和輸入 127.0.0.1 是同樣的效果嗎?那個(gè)時(shí)候我們 hosts 文件中只有一個(gè) localhost 對(duì)應(yīng)著 127.0.0.1,可是現(xiàn)在,你猜在瀏覽器輸入 127.0.0.1 會(huì)出現(xiàn)什么?我們來(lái)試試吧!

這里寫圖片描述

你會(huì)說(shuō),這不還跟之前一樣嗎?好吧,確實(shí)跟之前一樣,可是我們要往更深層理解,為什么輸入 127.0.0.1 會(huì)顯示 tomcat 的東西而不是我們自定義的內(nèi)容呢?畢竟我們都對(duì)應(yīng)著 127.0.0.1 啊,所以肯定有個(gè)設(shè)置什么的,對(duì)我們繼續(xù)來(lái)看我們的 server.xml

這里寫圖片描述

我們可以找到這行配置,對(duì),就是這個(gè) defaulthost,它所對(duì)應(yīng)的主機(jī)名字就是輸入 127.0.0.1 會(huì)顯示的主機(jī)所配置的內(nèi)容,為什么我們輸入 127.0.0.1 會(huì)出現(xiàn) tomcat 的內(nèi)容,就是因?yàn)槲覀兣渲玫奶摂M主機(jī)有一個(gè)叫 localhost 的而這個(gè)默認(rèn)的主機(jī)也叫 localhost,所以 localhost 和 127.0.0.1 是一樣的,因此如果我們將這個(gè)默認(rèn)的主機(jī)名字改成 www.baidu.com那么輸入127.0.0.1和輸入 www.baidu.com就會(huì)顯示

一樣的內(nèi)容,因?yàn)榇藭r(shí)兩者是相同的。我們來(lái)驗(yàn)證一下

這里寫圖片描述

重啟 tomcat 輸入 127.0.0.1

這里寫圖片描述

看見(jiàn)沒(méi),這正是我們自定義的內(nèi)容,也就是說(shuō)現(xiàn)在 127.0.0.1 就等同

于 www.baidu.com,另外我們的 hosts 文件中 ithuangqing 還對(duì)應(yīng)這

127.0.0.1,是不是輸入 ithuangqing 也會(huì)顯示相同的內(nèi)容

這里寫圖片描述

答案是正確的,還是因?yàn)榇藭r(shí)的 127.0.0.1 已經(jīng)默認(rèn)對(duì)應(yīng)這這個(gè)叫

www.baidu.com的虛擬機(jī)主機(jī)了。

理解最重要,就到這了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多