官术网_书友最值得收藏!

第2章 程序如何運(yùn)行——Tomcat服務(wù)器的搭建

學(xué)習(xí)指引

本章主要介紹Tomcat服務(wù)器及其安裝配置過程,重點(diǎn)介紹服務(wù)器與IDE的啟動(dòng)和關(guān)閉,在服務(wù)器和IDE中修改Tomcat端口以及如何在Eclipse中使用Tomcat,最后介紹了如何部署Web項(xiàng)目到Tomcat中。

重點(diǎn)導(dǎo)讀

? 了解Tomcat服務(wù)器工作原理。

? 掌握Tomcat服務(wù)器安裝方法。

? 掌握如何修改Tomcat端口。

? 掌握在Eclipse中使用Tomcat。

? 掌握將Web項(xiàng)目部署到Tomcat的方法。

2.1 Web服務(wù)器簡(jiǎn)介

Web服務(wù)器一般指網(wǎng)站服務(wù)器,可以向?yàn)g覽器等Web客戶端提供文檔。Web服務(wù)器不僅能夠存儲(chǔ)信息,還能在用戶通過Web瀏覽器提供的信息的基礎(chǔ)上運(yùn)行腳本和程序;不僅可以放置網(wǎng)站文件,讓全世界網(wǎng)友瀏覽,也可以放置數(shù)據(jù)文件,讓全世界網(wǎng)友下載。常用的Web服務(wù)器有很多,本節(jié)將簡(jiǎn)單介紹便于Java Web使用的Tomcat、Nginx和Jetty服務(wù)器。

1. Tomcat服務(wù)器

Tomcat服務(wù)器是一款免費(fèi)開放源代碼的Web應(yīng)用服務(wù)器。Tomcat是由Apache開發(fā)的一個(gè)Servlet容器,實(shí)現(xiàn)了對(duì)Servlet和JSP的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等。Tomcat服務(wù)器屬于輕量級(jí)應(yīng)用服務(wù)器。

Tomcat服務(wù)器在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面的訪問請(qǐng)求。實(shí)際上,Tomcat是Apache服務(wù)器的擴(kuò)展,但運(yùn)行時(shí)它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行Tomcat時(shí),它實(shí)際上是作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁面的功能。它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。

2. Nginx服務(wù)器

Nginx服務(wù)器是一款高性能的HTTP和反向代理服務(wù)器,也是電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行。

Nginx服務(wù)器的特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng)。事實(shí)上,Nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,使用Nginx網(wǎng)站的用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。Nginx是一個(gè)很強(qiáng)大的高性能Web和反向代理服務(wù)器,它具有很多非常優(yōu)越的特性。在連接高并發(fā)的情況下,Nginx是Apache服務(wù)器不錯(cuò)的替代品,能夠支持高達(dá)50 000個(gè)并發(fā)連接數(shù)的響應(yīng)。

3. Jetty服務(wù)器

Jetty服務(wù)器是目前比較被看好的一款Servlet服務(wù)器,該服務(wù)器的架構(gòu)比較簡(jiǎn)單,但在可擴(kuò)展性方面表現(xiàn)得非常靈活。它有一個(gè)基本數(shù)據(jù)模型,這個(gè)數(shù)據(jù)模型就是Handler,所有可以被擴(kuò)展的組件都可以作為一個(gè)Handler添加到Server中,Jetty就是幫助用戶管理這些Handler數(shù)據(jù)模型,以便于更迅捷的開發(fā)。

因?yàn)門omcat服務(wù)器技術(shù)先進(jìn)、性能穩(wěn)定且免費(fèi),深受廣大Java愛好者的喜愛,同時(shí)也得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。接下來就以Tomcat服務(wù)器為例,學(xué)習(xí)Tomcat服務(wù)器的搭建、啟動(dòng)及配置方法。

2.2 Tomcat的下載與安裝

Tomcat的安裝有兩種方式,一種是解壓之后不需要安裝就可以直接使用的方式,也稱解壓版;另一種是應(yīng)用程序需要安裝之后才能使用的方式,稱為安裝版。在介紹Tomcat安裝方法前,下面先了解一下Tomcat各個(gè)版本的區(qū)別,以幫助讀者更好地選擇適合自己的軟件版本。

2.2.1 了解Tomcat版本區(qū)別

當(dāng)前Tomcat服務(wù)器主要包含Tomcat 9、Tomcat 8和Tomcat 7等版本。

1. Tomcat 9版本

Tomcat 9是當(dāng)前最新版本,它是建立在Tomcat 8版本基礎(chǔ)上,符合Servlet 4.0規(guī)范,執(zhí)行JSP 2.4、EL 3.1、Web Socket 1.2和JASPIC 1.1規(guī)格,包括以下功能改進(jìn)。

(1)添加對(duì)HTTP / 2的支持(需要APR /本地庫(kù))。

(2)添加對(duì)TLS虛擬主機(jī)的支持。

(3)添加了對(duì)使用JSSE連接器(NIO和NIO2)使用OpenSSL for TLS的支持。

2. Tomcat 8版本

Tomcat 8是建立在Tomcat 7版本基礎(chǔ)之上的改進(jìn)版本,符合Servlet 3.1、JSP 2.3、EL 3.0和WebSocket 1.1規(guī)格。除此之外,Tomcat 8在單個(gè)公共資源實(shí)現(xiàn)來替換早期版本中提供的多個(gè)資源擴(kuò)展特性方面做了重大改進(jìn)。

3. Tomcat 7版本

Tomcat 7是Tomcat 6的改進(jìn)版本,符合Servlet 3.0、JSP 2.2、EL 2.2和WebSocket 1.1規(guī)格。除此之外,它還包括以下改進(jìn)。

(1)Web應(yīng)用程序內(nèi)存泄漏檢測(cè)和預(yù)防。

(2)提高了Manager和Host Manager應(yīng)用程序的安全性。

(3)通用CSRF保護(hù)。

(4)支持直接在Web應(yīng)用程序中包含外部?jī)?nèi)容。

(5)重構(gòu)(連接器,生命周期)和大量的內(nèi)部代碼清理。

4. Tomcat 6版本

Tomcat 6是Tomcat 5.5的改進(jìn)版本,符合Servlet 2.5和JSP 2.1規(guī)范。除此之外,它還包括以下改進(jìn)。

(1)內(nèi)存使用優(yōu)化。

(2)高級(jí)IO功能。

(3)重構(gòu)聚類。

Tomcat是一個(gè)開源的Java Servlet的軟件實(shí)現(xiàn)和Java Server Pages技術(shù)的服務(wù)器。不同版本的Tomcat可用于不同版本的Servlet和JSP規(guī)范。它們之間的映射規(guī)范和相應(yīng)的Tomcat版本如表2-1所示。

表2-1 Tomcat版本映射表

每個(gè)版本的Tomcat支持任何穩(wěn)定的Java版本,選擇版本時(shí)只要滿足表2-1最后一欄的要求即可。本書以Tomcat 9版本為例進(jìn)行Tomcat服務(wù)器的搭建。

2.2.2 安裝Tomcat解壓版

在第1.1節(jié)JDK的下載與安裝中已經(jīng)介紹了如何配置JDK的環(huán)境變量,安裝Tomcat是建立在此基礎(chǔ)上的。如果讀者已經(jīng)正確完成了配置JDK和JRE環(huán)境變量設(shè)置工作,接下來就可以學(xué)習(xí)Tomcat解壓版本的安裝,具體操作步驟如下。

步驟1:打開瀏覽器,在地址欄中輸入http://tomcat.apache.org網(wǎng)址進(jìn)入Tomcat官網(wǎng),Tomcat官網(wǎng)界面如圖2-1所示。

步驟2:在Tomcat官網(wǎng)界面中,找到軟件下載區(qū)域(Download),如圖2-2所示。

步驟3:在Download下載區(qū)域,選擇單擊Tomcat 9版本選項(xiàng)。在Tomcat 9下載界面的快速導(dǎo)航(Quick Navigation)欄,單擊9.0.10選項(xiàng),如圖2-3所示。

圖2-1 Tomcat官網(wǎng)界面

圖2-2 Download區(qū)域

圖2-3 Tomcat 9下載快速導(dǎo)航界面

步驟4:在進(jìn)入選擇壓縮包的下載界面中,根據(jù)自己計(jì)算機(jī)CPU支持的是32位或64位以及計(jì)算機(jī)配置,選擇32-bit Windows zip或64-bit Windows zip壓縮版進(jìn)行下載,如圖2-4所示。

圖2-4 選擇適合自己計(jì)算機(jī)的解壓版下載

步驟5:下載完成后,選擇并將該壓縮文件解壓到英文路徑的盤符下,如圖2-5所示放到D:\Tomcat下,只要是純英文路徑下都可以。到此解壓版的安裝便完成了,接下來需要進(jìn)行環(huán)境變量的配置。

圖2-5 Tomcat路徑

步驟6:環(huán)境變量配置。

(1)在計(jì)算機(jī)桌面右擊“計(jì)算機(jī)”或“我的計(jì)算機(jī)”圖標(biāo),在彈出的快捷菜單中選擇“屬性”→“高級(jí)系統(tǒng)設(shè)置”→“環(huán)境變量”選項(xiàng),打開“系統(tǒng)變量”對(duì)話框,如圖2-6所示。

圖2-6 “系統(tǒng)變量”對(duì)話框

(2)在“系統(tǒng)變量”對(duì)話框中單擊“新建”按鈕,在“變量名”文本框中填寫“CATALINA_HOME”,在“變量值”文本框中填寫前面所解壓文件存放的路徑,該目錄下有l(wèi)ib、bin等文件夾,如圖2-7所示。

圖2-7 添加CATALINA_HOME變量

(3)完成變量名和變量值的設(shè)置后,單擊“確定”按鈕,完成解壓版Tomcat的安裝操作。

2.2.3 安裝Tomcat安裝版

下面詳細(xì)介紹Tomcat服務(wù)器安裝版的安裝方法。

步驟1:參照安裝解壓版步驟第1~3步的方法進(jìn)入Tomcat 9下載快速導(dǎo)航界面。

步驟2:在此選擇32-bit/64-bit Windows Service Installer下載選項(xiàng),如圖2-8所示。

圖2-8 選擇安裝版下載

步驟3:下載完成后,解壓并打開軟件壓縮包,雙擊軟件安裝包中的Setup.exe文件,執(zhí)行軟件安裝程序。依次單擊Next按鈕,如圖2-9所示。

圖2-9 安裝界面

步驟4:此時(shí)安裝程序會(huì)提示設(shè)置端口和用戶信息。在此可以更改端口號(hào),設(shè)置用戶名,密碼等操作,在絕大多數(shù)情況下并不需要去更改或者設(shè)置它,默認(rèn)設(shè)置就可以。直接單擊Next按鈕即可,繼續(xù)安裝,如圖2-10所示。

圖2-10 設(shè)置端口及用戶信息界面

步驟5:此時(shí)安裝程序進(jìn)入選擇軟件安裝路徑界面,單擊Browse按鈕為程序指定安裝路徑。完成路徑設(shè)置后單擊Install按鈕,繼續(xù)軟件安裝,如圖2-11所示。

圖2-11 選擇安裝路徑

步驟6:?jiǎn)螕鬒nstall安裝按鈕后便可自動(dòng)完成軟件的安裝操作。

步驟7:完成軟件的安裝操作后,參照安裝解壓版步驟第6步環(huán)境變量配置方法,完成安裝版Tomcat環(huán)境變量的配置操作,便完成了Tomcat的安裝操作。

2.3 Tomcat的啟動(dòng)與關(guān)閉

Tomcat安裝好之后,還需要學(xué)會(huì)如何啟動(dòng)與關(guān)閉它,接下來介紹Tomcat的啟動(dòng)與關(guān)閉方法。

2.3.1 在服務(wù)器中啟動(dòng)與關(guān)閉

在服務(wù)器中啟動(dòng)與關(guān)閉Tomcat的方法如下。

步驟1:Tomcat安裝完成后,打開Tomcat安裝路徑下的bin文件夾,找到startup.bat文件雙擊運(yùn)行,出現(xiàn)如圖2-12所示的信息提示,則說明Tomcat服務(wù)器已經(jīng)啟動(dòng)成功。

圖2-12 運(yùn)行startup.bat文件

步驟2:打開任意瀏覽器,并在瀏覽器地址欄中輸入http://localhost:8080/地址(8080是Tomcat默認(rèn)端口號(hào)),若出現(xiàn)如圖2-13所示的界面,則說明Tomcat服務(wù)器運(yùn)行成功。

步驟3:關(guān)閉Tomcat服務(wù)。雙擊運(yùn)行安裝路徑下bin目錄中的shutdown.bat文件,即可關(guān)閉Tomcat服務(wù)。

圖2-13 服務(wù)器啟動(dòng)成功

2.3.2 在IDE中啟動(dòng)與關(guān)閉

所謂的IDE就是像Eclipse這樣的編譯器,在此以Eclipse為例介紹Tomcat的啟動(dòng)與關(guān)閉。

步驟1:?jiǎn)?dòng)Eclipse Oxygen程序,在主界面靠下窗口中單擊Servers標(biāo)簽,出現(xiàn)如圖2-14所示的界面。

步驟2:?jiǎn)螕魣D2-14中框中的鏈接,添加一個(gè)Tomcat服務(wù),在打開的New Server對(duì)話框中找到Apache文件夾并打開,選擇安裝的Tomcat版本,如圖2-15所示,然后單擊Next按鈕。

圖2-14 添加Tomcat服務(wù)

圖2-15 選擇Tomcat版本

步驟3:在添加Tomcat服務(wù)窗口中,單擊Browse按鈕,選擇Tomcat的安裝路徑,單擊Finish按鈕,如圖2-16所示。

圖2-16 選擇Tomcat安裝的路徑

步驟4:服務(wù)添加成功后,單擊圖2-14中的Servers標(biāo)簽,便會(huì)出現(xiàn)剛才添加的服務(wù),單擊這個(gè)服務(wù)在窗口右側(cè)會(huì)出現(xiàn)啟動(dòng)和關(guān)閉服務(wù)按鈕。單擊圖2-17中的“啟動(dòng)”或“關(guān)閉”按鈕,即可啟動(dòng)或關(guān)閉Tomcat服務(wù)。

圖2-17 第三個(gè)為“啟動(dòng)”按鈕,第五個(gè)為“關(guān)閉”按鈕

步驟5:?jiǎn)螕簟皢?dòng)”按鈕,啟動(dòng)成功后如圖2-18所示。

若啟動(dòng)不成功,大多數(shù)情況下都是在外部已經(jīng)啟動(dòng)了,可能是使用介紹的第一種方法啟動(dòng)了但沒有關(guān)閉,這時(shí)Eclipse會(huì)報(bào)錯(cuò),如圖2-19所示。

出現(xiàn)這種情況,可打開Tomcat的安裝目錄下的bin文件夾,找到目錄中的shutdown.bat文件,雙擊關(guān)閉Tomcat服務(wù),然后再到Eclipse中啟動(dòng)即可。

圖2-18 Tomcat啟動(dòng)成功

圖2-19 Tomcat啟動(dòng)失敗

2.4 修改Tomcat端口號(hào)

默認(rèn)情況下,Tomcat的端口是8080,但如果使用了兩個(gè)Tomcat,那么就需要修改其中的一個(gè)Tomcat的端口號(hào)才能使得兩個(gè)Tomcat同時(shí)正常工作。那么,如何修改Tomcat的端口號(hào)呢?接下來分別介紹在服務(wù)器和IDE中修改端口號(hào)的方法。

2.4.1 在服務(wù)器中修改端口號(hào)

在服務(wù)器中修改端口號(hào)的具體方法如下。

步驟1:在Tomcat安裝目錄(或者解壓目錄)下找到并打開config文件夾,在里面找到server.xml文件。

步驟2:用文件編輯工具或者記事本打開server.xml文件,并找到下面的代碼段。

步驟3:將port="8080"的端口值改為其他數(shù)值便完成了修改端口的操作。

2.4.2 在IDE中修改端口號(hào)

在IDE中修改端口號(hào)的具體方法如下。

注:本例演示在Eclipse集成開發(fā)環(huán)境中修改Tomcat端口號(hào)。

步驟1:在Eclipse集成開發(fā)環(huán)境中雙擊Server選項(xiàng)卡下的Tomcat本地服務(wù)器,如圖2-20所示。

圖2-20 Server下的服務(wù)器

步驟2:在窗口中找到Ports項(xiàng),在HTTP/1.1對(duì)應(yīng)欄中輸入想修改的端口號(hào)值(默認(rèn)為8080),如圖2-21所示。

圖2-21 Eclipse中修改端口號(hào)

步驟3:完成端口號(hào)的修改后保存即可。

2.5 將Web項(xiàng)目部署到Tomcat中

已完成的項(xiàng)目需要部署到Tomcat中,才能被瀏覽器正常地瀏覽和訪問。本節(jié)將分別介紹在Tomcat和Eclipse中部署Web項(xiàng)目的方法。

2.5.1 在服務(wù)器中部署

Tomcat部署好了,接下來就可以發(fā)布項(xiàng)目了,可通過IP+端口號(hào)+項(xiàng)目名來訪問。將Web項(xiàng)目部署到Tomcat中的方法之一是部署沒有封裝到WAR文件中的Web項(xiàng)目。直接把項(xiàng)目復(fù)制到Tomcat的webapps文件夾下即可,具體步驟如下。

步驟1:新建文件夾myweb,新建文本文件改名為web.jsp。

web.jsp代碼如下。

把myweb項(xiàng)目放到Tomcat的webapps文件夾下,如圖2-22所示。

圖2-22 服務(wù)器中部署Web項(xiàng)目

步驟2:打開Tomcat服務(wù)器(確保服務(wù)器打開),在地址欄中輸入http://localhost:8080/myweb/web.jsp就可以在瀏覽器中訪問我們的項(xiàng)目了,如圖2-23所示。

圖2-23 瀏覽器訪問部署項(xiàng)目

看到如圖2-23所示的界面,則說明在Tomcat服務(wù)器中已經(jīng)完成了部署項(xiàng)目操作。

2.5.2 在Eclipse中部署

在這里將介紹如何通過Eclipse部署Web項(xiàng)目到Tomcat服務(wù)器中。

步驟1:打開Eclipse集成開發(fā)環(huán)境,雙擊Server下的Tomcat 9服務(wù),如圖2-24所示。

圖2-24 打開Servers服務(wù)

步驟2:在第1步操作后顯示的界面中,在Deploy path文本框中輸入webapps文件夾名稱,表示將當(dāng)前Web項(xiàng)目部署至Tomcat/webapps目錄下服務(wù)選項(xiàng)的本地服務(wù)器,如圖2-25所示。

圖2-25 修改服務(wù)器設(shè)置

步驟3:在Eclipse中新建一個(gè)動(dòng)態(tài)Web項(xiàng)目。依次執(zhí)行File→New→Dynamic Web Project命令,打開New Dynamic Web Project(新建項(xiàng)目)對(duì)話框,在Project name文本框中輸入myWEB,作為項(xiàng)目名稱。單擊Finish按鈕,完成新項(xiàng)目的創(chuàng)建,如圖2-26所示。

圖2-26 新建Web項(xiàng)目

步驟4:在新建的myWEB項(xiàng)目中新建一個(gè)JSP文件。右擊項(xiàng)目名稱myWEB,在彈出的快捷菜單中執(zhí)行New→JSP File命令,如圖2-27所示。

圖2-27 執(zhí)行新建JSP文件命令

步驟5:打開New JSP File(新建文件)對(duì)話框。在File name文本框中輸入web.jsp作為文件名稱,單擊Finish按鈕,完成新文件的創(chuàng)建,如圖2-28所示。

圖2-28 新建JSP文件

步驟6:在WebContent目錄下新建一個(gè)web.jsp文件,在頁面上輸出一段字符,具體如下。

步驟7:在Eclipse瀏覽器地址欄中輸入http://localhost:8080/web/web.jsp,如果瀏覽器中打開如圖2-29所示的運(yùn)行界面,說明Web項(xiàng)目部署成功。

圖2-29 運(yùn)行界面

2.6 就業(yè)面試解析與技巧

2.6.1 面試解析與技巧(一)

面試官:Tomcat的默認(rèn)端口號(hào)是多少?請(qǐng)解釋Tomcat中使用的連接器是什么?

應(yīng)聘者:Tomcat的默認(rèn)端口號(hào)是8080。

在Tomcat中,使用了兩種類型的連接器。

HTTP連接器:它有許多可以更改的屬性,以確定它的工作方式和訪問功能,如重定向和代理轉(zhuǎn)發(fā)。

AJP連接器:它以與HTTP連接器相同的方式工作,但是它們使用的是HTTP的AJP協(xié)議。AJP連接器通常通過插件技術(shù)mod_jk在Tomcat中實(shí)現(xiàn)。

2.6.2 面試解析與技巧(二)

面試官:解釋如何使用WAR文件部署Web應(yīng)用程序?

應(yīng)聘者:在Tomcat的Web應(yīng)用程序目錄下,JSP、Servlet和它們的支持文件被放置在適當(dāng)?shù)淖幽夸浿小?梢詫eb應(yīng)用程序目錄下的所有文件壓縮到一個(gè)壓縮文件中,以.war文件擴(kuò)展名結(jié)束。可以通過在webapps目錄中放置WAR文件來執(zhí)行Web應(yīng)用程序。當(dāng)一個(gè)Web服務(wù)器開始執(zhí)行時(shí),它會(huì)將WAR文件的內(nèi)容提取到適當(dāng)?shù)膚ebapps子目錄中。

主站蜘蛛池模板: 湘潭市| 友谊县| 买车| 甘洛县| 望谟县| 阜康市| 驻马店市| 苏尼特右旗| 大埔县| 瑞丽市| 万全县| 长春市| 沭阳县| 石台县| 仙居县| 安平县| 东港市| 盘山县| 临西县| 新乐市| 高清| 连山| 三台县| 大余县| 邢台市| 射阳县| 中宁县| 新邵县| 扶余县| 汉沽区| 特克斯县| 南阳市| 绥芬河市| 乐至县| 甘南县| 汉源县| 额尔古纳市| 镇巴县| 报价| 成都市| 阿克陶县|