STRUTS

1、前言

JSP 全名 JAVA SERVER PAGE,主要是由 JAVA SERVLET 執行網頁功能,JSP 網頁程式會先翻譯成 JAVA SERVLET 的程式碼,再執行網頁功能。 網頁伺服器(TOMCAT)負責承載並運行 JAVA SERVLET,它的專有名稱是容器(CONTAINER)。 JSP 是基於 JAVA 開發的網頁語言,使用大量的 JAVA 函式庫,和XML 語言。

STRUTS 是在基於 JSP 的網頁應用程式框架,以 MVC 模型發展網頁應用程式。 從 STRUTS 第一版本(2001.7)到現在 2012 已經 11 年的時光。 回顧最初的 STRUTS,其想法很簡單,就是在 JSP 上開發一個應用程式框架。 JAVA 函式庫是用來執行資料存取與邏輯運算(MODEL),JSP檔的功能就是用來呈現網頁畫面效果。所以稱為具有 MODEL-VIEW-CONTROLLER 的 MVC 模型。

2006 年,APACHE STRUTS 發表了 STRUTS 2,整合 STRUTS 和 WEBWORK 的優點,發展出更擴展性更強的網頁應用程式框架。 STRUTS 2 的設計承續了 WEBWORK,和原來的 STRUTS 1 很不一樣,控制器的設計、組態與檔案的佈置都有很大的改變。

使用 STRUTS 1 的軟體列表:

WINDOWS XP
JDKjdk-7u2-windows-i586.exe
TOMCATapache-tomcat-5.5.35.exe
MYSQLmysql-3.23.49-win.zip
MYSQL CONNECTORmysql-connector-java-5.1.18.zip
STRUTSjakarta-struts-1.0.2.zip

參考書籍

jsp

2、JDK

JDK 7 UPDATE 2,是 JAVA 的發展套件,從 http://www.oracle.com/ 下載。


3、TOMCAT

TOMCAT 是網頁伺服器(SERVER),用來執行 JAVA SERVLET。 TOMCAT 會讀取放在網頁應用程式 WEB-INF 目錄中的 WEB.XML 資訊,啟動 JAVA SERVLET。 如果沒有 WEB.XML,就使用預設值。

設定 SERVLET 的名稱與執行類別。 STRUTS 的 ActionServlet 類別繼承自 JAVA HttpServlet,可以被載入到網頁伺服器執行。 STRUTS 的 ActionServlet 應該會載入 WEB-INF 的 struts-config.xml,並讀取其中的 form-beans 和 action-mappings 標籤內的資訊,依據 struts-config_1_0.dtd 的描述解析之。 這些資訊會成為 STRUTS SERVLET 的運作參數。


4、MYSQL

MYSQL 是免費的資料庫套件,提供不同 OS 的安裝版本。這裡使用的版本是 3.23.49。 MYSQL 負責資料的永久儲存,包括寫入、讀取、查詢等。 安裝 MYSQL 後,再設定成 MYSQL-MAX,以便支援 DBD 功能。

安裝前,解壓縮 mysql-3.23.49-win.zip。執行 SETUP.EXE,內定安裝目錄是 C:\MYSQL。 安裝完畢後,執行 winmysqladmin.exe,設定帳號 root 與密碼 1234。 到 my.ini SETUP 頁面選用 mysald-max,以支援 DBD 存取功能。

jsp

5、MYSQL CONNECTOR

MYSQL CONNECTOR 是 MYSQL 的 JAVA 驅動程式,JDBC。這裡使用的版本是 5.1.18。 JAVA 透過 JDBC 和 MYSQL 資料庫相連,以存取資料庫的目錄與項目。

將檔案 mm.mysql-2.0.14-you-must-unjar-me.jar 解壓縮, 從目錄 mm.mysql-2.0.14 取得 JDBC 驅動程式檔案 mm.mysql-2.0.14-bin.jar。 將驅動程式檔案 mm.mysql-2.0.14-bin.jar 放到 TOMCAT 的 common/lib 目錄。 TOMCAT 的 JAVA CLASSPATH 必須包含到這個目錄,並取用由 WEB.XML 指定的 JDBC 類別庫 org.gjt.mm.mysql.Driver。


6、STRUTS

STRUTS 是 JAKARTA 發展的一個應用程式框架,可以用來發展 JSP 網頁應用程式。這裡使用的版本是 1.0.2。 如果把 JAVA SERVLET 當作是一個作業系統平台,STRUTS 就是這個作業系統上的應用程式架構。

將 jakarta-struts-1.0.2.zip 解壓縮後,置於 C:\jakarta-struts-1.0.2。 設定 TOMCAT 的 java classpath,加入 C:\jakarta-struts-1.0.2\lib\*.jar,即可。

目前筆者的 TOMCAT JAVA CLASSPATH 有下列路徑。

C:\Tomcat 5.5\bin\bootstrap.jarTOMCAT 啟動程序的類別庫。
C:\Tomcat 5.5\bin\tomcat-juli.jarTOMCAT 日誌類別庫。
C:\Tomcat 5.5\common\lib\*.jarTOMCAT 通用類別庫,包括 SERVLET API 和 JSP API 等類別庫。
C:\jakarta-struts-1.0.2\lib\*.jarSTRUTS 類別庫。

STRUTS 運行架構:
STRUTS SERVLET 本身負責網站的控制,包括讀取 CLIENT 要求封包,執行本機 JSP 網頁應用程式,傳送回應封包,是 STRUTS 模型的 CONTROLLER。
JSP(VIEW) 負責網頁畫面的構成,並透過 STRUTS 和應用程式自定的標籤,使用 JAVA LIB 執行後端工作,最後完成網頁畫面的構成,所以冠上 VIEW。
JAVA LIB(MODEL) 負責網站後端資料的存取與計算,最後將資料轉送到 JSP,是 STRUTS 模型的 MODEL 部分。

步驟一CLIENT 送達要求封包。
步驟二TOMCAT 接收的封包。
步驟三TOMCAT 回應歡迎畫面(INDEX.JSP)。
步驟四CLIENT 送達要求封包。
步驟五TOMCAT 接收封包,轉向要求的網頁。這時可能會使用到 JAVA LIB 和 資料庫系統。處理完成,轉向輸出網頁,回應輸出網頁。
步驟六CLIENT 接收回應網頁。
步驟七循環步驟四~步驟六。
struts