国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

STRUTS 入門教學(1)

2019-11-17 06:25:52
字體:
來源:轉載
供稿:網友

  STRUTS 入門教學(1)

1. 介紹
1.1 Model-View-Controller (MVC) 設計模式
FIXME - 需要一個對該模式一般性的介紹。(譯注:可以參考機械工業出版社的《設計模式》。)
1.2 將MVC概念映射到Struts組件
Struts 的體系結構實現了Model-View-Controller設計模式的概念,它將這些概念映射到web應用程序的組件和概念中.
這一體系結構中每個主要的組件都將在下面做具體的討論。

1.3 Model: 系統狀態和商業邏輯javaBeans
基于MVC的系統中的 Model 部分可以細分為兩個概念 -- 系統的內部狀態, 能夠改變狀態的行為。用語法術語來說,我們可以把狀態信息當作名詞(事物),把行為當作動詞(事物狀態的改變)。
通常說來,你的應用程序將系統內部的狀態表示為一組一個或多個的JavaBeans,使用屬性(PRoperties)來表示狀態的細節。依靠于你的應用程序的復雜度,這些beans可以是自包含的(以某種方式知道怎樣永久地保存它們的狀態信息),或者可以是正面的(facades),知道當被請求時怎樣從外部數據源(例如數據庫)中取得信息。Entity EJBs通常也用來表示內部狀態。

大型應用程序經常將系統可能的商業邏輯行為表示為可以被維護狀態信息的beans調用的方法。舉個例子,你有一個為每個當前用戶保存在session中的購物車bean,里面是表示當前用戶決定購買物品的屬性。這個bean有一個checkOut()方法用來驗證用戶的信用卡,將定單發給庫房以選擇貨品和出貨。別的系統分別地表示同樣的行為,或許使用Session EJBs。

在一些小型應用程序中,同樣的行為又可能嵌入到作為Controller一部分的 Action 類中。這在邏輯非常簡單或者并不想要在其它環境中重用這些商業邏輯時是恰當的。Struts框架支持所有這些方法,但建議將商業邏輯(“做什么”)和 Action 類(“決定做什么”)分離開。

1.4 View: jsp頁面和表示組件
基于Struts的應用程序中的 View 部分通常使用JSP技術來構建。JSP頁面包含稱為“模版文本”的靜態Html(或xml)文本,加上插入的基于對非凡行為標記解釋的動態內容。JSP環境包括了其用途由JSP規范來描述的一套標準的行為標記,例如 <jsp:useBean> 。另外,還有一個用來定義你自己標記的標準機制,這些自定義的標記組織在“定制標記庫”中。
Struts包括了一個廣闊的便于創建用戶界面,并且充分國際化的定制標記庫,與作為系統 Model 部分一部分的ActionForm beans美妙地相互配合。這些標記的使用將在后面做具體討論。

除了JSP頁面和其包含的行為及定制標記,商業對象經常需要能夠基于它們在被請求時的當前狀態將自己處理成HTML(或XML)。從這些對象處理過的輸出可以很輕易地使用 <jsp:include> 標準行為標記包括在結果的JSP頁面中。

1.5 Controller: ActionServlet和ActionMapping
應用程序的 Controller 部分集中于從客戶端接收請求(典型情況下是一個運行瀏覽器的用戶),決定執行什么商業邏輯功能,然后將產生下一步用戶界面的責任委派給一個適當的View組件。在Struts中,controller的基本組件是一個 ActionServlet 類的servlet。這個servlet通過定義一組映射(由Java接口 ActionMapping 描述)來配置。每個映射定義一個與所請求的URI相匹配的路徑和一個 Action 類(一個實現 Action 接口的類)完整的類名,這個類負責執行預期的商業邏輯,然后將控制分派給適當的View組件來創建響應。
Struts也支持使用包含有運行框架所必需的標準屬性之外的附加屬性的 ActionMapping 類的能力。這答應你保存特定于你的應用程序的附加信息,同時仍可利用框架其余的特性。另外,Struts答應你定義控制將重定向到的邏輯名,這樣一個行為方法可以請求“主菜單”頁面(舉例),而不需要知道相應的JSP頁面的實際名字是什么。這個功能極大地幫助你分離控制邏輯(下一步做什么)和顯示邏輯(相應的頁面的名稱是什么)。
(未完待續)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宾川县| 栾川县| 淳化县| 南澳县| 沧州市| 永善县| 宜章县| 永定县| 通道| 简阳市| 通许县| 靖江市| 吴江市| 荔浦县| 丽水市| 皋兰县| 玉林市| 五莲县| 浮山县| 枝江市| 乌拉特前旗| 怀化市| 米脂县| 普洱| 巍山| 墨江| 金昌市| 青岛市| 铜梁县| 江西省| 牟定县| 盐源县| 灵山县| 玉田县| 保山市| 任丘市| 沙湾县| 仁布县| 寻乌县| 霞浦县| 融水|