安裝 Tomcat 7.0.x
This document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟
請勿轉貼
看其他教材
我個人最愛的 Tomcat 5.5.x 終於被宣布自 09/2012 起停止支援,甚至到了 12/2012 就無法下載了。在無奈之下,只好開始轉戰 Tomcat 7.0.x 版。 Tomcat 7.0.x 版的安裝對於 JSP 的開發並沒有太大的改變,改變最多的大概 就是 servlet 的程式了;為了避免大幅修改 Java Servlet 入門, 我會在本文中說明開發 servlet 程式時,web.xml 的必要修改。
支援一般連線
Tomcat 是一個讓開發者能夠執行 JSP/servlet 的伺服器(比較專業的說法是 container),其安裝步驟如下:- 安裝 JDK 1.6.x 版或者更新的版本。
- 記得要設定環境變數 JAVA_HOME。假設 JDK 安裝在 c:\jdk,我們需要執行 set JAVA_HOME=c:\jdk或者在控制台內設定。
- 安裝 Tomcat(我們以 7.0.x 版為例;並假設 Tomcat 安裝於 d:\tomcat7)。
- 下載點 http://tomcat.apache.org/download-70.cgi
- 請下載適當的 zip 檔並將它解壓縮到 d:\
- 為了減少 typing,將目錄名稱從 apache-tomcat-7.0.x 改成 tomcat7
- 為了測試方便,我們建議將 d:\tomcat7\conf\context.xml 這個檔案內的 <Context> 改成 <Context reloadable="true"> 。對於正式上線使用的程式,我們不建議這樣做。
- 開啟"命令提示字元",並 cd 到 d:\tomcat7\bin;執行 .\startup.bat。
- 開啟你喜歡的瀏覽器,並輸入 http://127.0.0.1:8080/。如果你的結果如下圖,表示你的安裝成功。
- 假設我們要建立一個新的專案,其名稱為 xml,請在 d:\tomcat7\webapps 建立一個目錄 d:\tomcat7\webapps\xml,並在 d:\tomcat7\webapps\xml 下建立 d:\tomcat7\webapps\xml\WEB-INF 以及 d:\tomcat7\webapps\xml\WEB-INF\classes。
- 假設我們要在 xml 專案下開發一個名為 HelloServ 的 servlet 程式,請依照
下列步驟:
- 請到 Hello World -- Servlet 複製原始碼。
- 請到 d:\tomcat7\webapps\xml\WEB-INF\classes 目錄下,產生 一個名為 HelloServ.java 的檔案,並將前一步驟所複製的原始碼貼上。
- 在命令提示字元視窗內設定 CLASSPATH 的環境變數: set CLASSPATH=%CLASSPATH%;d:\tomcat7\lib\servlet-api.jar
- 在命令提示字元視窗內編譯程式:javac HelloServ.java
- 在 d:\tomcat7\webapps\xml\WEB-INF 的 web.xml 檔案內(若不存在,則新增該檔案)新增如下的內容:(下列原始碼必須包含在 <web-app> 和
</web-app> 標籤內)(你也可以下載 web.xml)
01 <servlet> 02 <servlet-name>HelloWorld</servlet-name> 03 <servlet-class>HelloServ</servlet-class> 04 </servlet> 05 <servlet-mapping> 06 <servlet-name>HelloWorld</servlet-name> 07 <url-pattern>/hello.php</url-pattern> 08 </servlet-mapping>
- 在瀏覽器內,請輸入 http://localhost:8080/xml/hello.php,即可
看到如下畫面(請注意畫面中瀏覽器 URL 的值):
支援安全連線
許多資訊系統往往要求比較高的安全強度,其中一項就是希望能夠在連線的 過程,彼此交換的資料都能夠以加密的方式來進行;也就是使用 https。 tomcat 也支援 https,而且設定的方式也很簡單。如果要使得 tomcat 支援安全連線, 請先確認你已經依據上一節的內容完成 tomcat 的基本安裝。 要進行 https 連線之前,tomcat(或者其他的網頁伺服器)都需要 一個電子憑證;電子憑證的目的主要是希望能夠經由公正的第三者來證明"你就是 你說的你"或者"使用者連過去的公司真的就是那家公司"。如果你開發的系統 是給一個正式的機構,那麼我們建議你去申請一個電子憑證,例如:VerySign 等公司。 如果你只是想測試一下,那麼你可以建立自己的電子憑證,只不過你的使用者 可能會怕怕的,我們等一下以圖片說明。為 tomcat 產生電子憑證,以及利用瀏覽器來使用 https 的方式如下:
- 產生電子憑證:請開啟"命令提示字元"視窗,並依照以下畫面來執行:
- 請將 .keystore 檔放置於 tomcat 的目錄;在本範例中,請放在 d:\tomcat。
- 請修改 d:\tomcat7\conf\server.xml 的內容。利用編輯器
(例如記事本之類的工具)開啟檔案,並找尋如下的部分:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> -->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="passwd" />
- 除了 8443 的 port 要打開之外,我們還要移除 APR 的設定,也就是在檔案大約
27 行的地方,把該設定 comment out,如下所示:
<!--APR library loader. Documentation at /docs/apr.html --> <!-- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> -->
- 以上步驟完成後,請重新啟動 tomcat。
- 如果你的瀏覽器是 Firefox,那麼你會看到如下的畫面:
- 你可以點選"技術細節"或者"我了解此安全風險",兩個都點選的話,畫面
如下所示:
- 由於我們知道這是可以信任的網站(我們自己開發的,不是嗎?),所以
請點選畫面底下的"新增例外網站"。點選後,會出現以下的視窗:
- 你可以點選"檢視"按鈕,點選後,會出現以下視窗:
- 最後,請點選"確認安全例外"按鈕。你就可以看到 tomcat 的歡迎畫面。
- 如果你使用的是 IE,以 IE8 為例,你會看到如下的畫面:
- 請點選"繼續瀏覽此網站(不建議)"來繼續,你會看到如下的畫面:
- 如果想要知道電子憑證的內容,請點選 IE8 位於上方中央的地方,有一個
"憑證錯誤"的紅色區塊,點選後,請選擇"檢視憑證",你會看到如下的畫面:
- 你如果希望下一次再造訪這個網頁而不想出現警告訊息的話,請在視窗上 點選"安裝憑證"的按鈕,然後依照指示完成憑證的安裝。
Written by: 國立中興大學資管系呂瑞麟
沒有留言:
張貼留言