天天看點

Java網絡01 Tomcat初次嘗試

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

Java網絡01 Tomcat初次嘗試

Tomcat是一套開源軟體,它由Apache Software Foundation(ASF)開發,用于實作Java Servlet和JavaServer Page (JSP)技術。

Tomcat是雄性貓的意思。在O‘Reilly的動物書中,貓已經被用作另一本書的封面。是以,Tomcat的O'Reilly書的封皮是雪豹(Snow Leopard):

Java網絡01 Tomcat初次嘗試

貓咪變雪豹

Tomcat的核心是一個Servlet Container。Servlet是一類特殊的Java對象,它工作于Web伺服器,用于分析請求(request),并生成相應的回複(response)。Servlet Container用于啟動和調用Servlet對象。當有HTTP請求進入到Web伺服器時,Servlet Container會查找相應的Servlet,如果Servlet還不存在,那麼Container需要建立對象。Servlet Container随後将請求的内容傳遞給Servlet,并将Servlet生成的回複發回給負責通信的伺服器程式。

Java網絡01 Tomcat初次嘗試

藍色為請求,紅色為回複

Web伺服器使用HTTP協定與客戶直接通信。Tomcat自身包含有Web伺服器的功能。你也可以使用其他的Web伺服器,比如Apache伺服器,以提供更強大的Web伺服器。

Tomcat還有一個重要的功能,是處理JSP檔案。JSP可以看做是一個高層的Servlet,它最終會被翻譯成Servlet運作。我們用模闆語言的方式來寫JSP檔案,這類似于PHP的編寫方式。JSP檔案中可以直接包含HTML元素。利用JSP技術,我們可以從Servlet中分離出視圖,讓JSP來負責頁面的呈現方式,進而更好的實作MVC(Model-View-Control)。Tomcat中的Jasper子產品負責JSP的翻譯。

Tomcat的安裝很簡單,下面以Linux/Mac為例介紹:

2. 解壓縮下載下傳檔案,檔案夾中将包括如下内容:

Java網絡01 Tomcat初次嘗試

其中bin檔案夾下有可執行腳本:

startup.sh

shutdown.sh

分别用于啟動和關閉Tomcat。你可以将bin的路徑加入環境變量PATH,以便在指令行時,可以直接使用這兩個腳本。

啟動Tomcat後,你可以使用浏覽器通路下面的位址localhost:8080,來檢查Tomcat是否正常啟動。8080為Tomcat的預設端口。如果一切順利,将看到下面的頁面:

Java網絡01 Tomcat初次嘗試

需要注意的是,如果你的計算機上沒有Java Runtime,那麼為了讓Tomcat順利運作,你需要安裝Java Runtime。

當我們開發好了一個網絡app,比如一個網站test之後,可以将app放入到webapps檔案夾中。webapps檔案夾中有一個特殊的ROOT檔案夾,這個檔案夾中包含有預設的網絡app。當我們通路伺服器的根目錄時,比如localhost:8080/index.html時,實際上通路的是ROOT檔案夾中的index.html檔案。

(安裝好Tomcat之後,ROOT檔案夾中包含的是用于設定Tomcat的一個GUI頁面。如果直接更改ROOT的話,最好先備份原始的ROOT檔案夾。)

我們在webapps中建立檔案夾test,并放入下面的index.html檔案:

在浏覽器中,通路localhost:8080/test/index.html,可以看到

Java網絡01 Tomcat初次嘗試

伺服器可以正常的提供靜态的/test/index.html檔案。

除了html檔案之外,app檔案夾中還應該包括與該app相關的其他檔案,比如jsp檔案,css檔案,javascript檔案,servlet的.class檔案,model相關的.class檔案等等。

我們在test檔案夾中建立一個index.jsp檔案:

在浏覽器中通路,得到如下頁面:

Java網絡01 Tomcat初次嘗試

可以看到,JSP中的代碼調用了java.util.Date()方法,以顯示目前時間。該jsp檔案翻譯成Servlet,并由Servlet産生适當的回複,傳遞給用戶端,即浏覽器。翻譯和回複的過程都是由Tomcat自動完成的。

Tomcat是利用一系列xml檔案來進行配置的。比如我們上面的端口為8080。現在,我們想更改Tomcat所監聽的端口,可以在conf/server.xml中,找到Connector标簽,以及标簽的port屬性。原來的屬性值為8080,将其改為其他的值,并重新啟動Tomcat就可以了。

Tomcat是實施Servlet與JSP的一套軟體。這裡是對Tomcat的簡單介紹。

你可以在自己的電腦上迅速的建立起Tomcat主機,并嘗試上面的内容。