溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Struts框架及其組成部分是什么

發(fā)布時間:2022-01-11 15:16:18 來源:億速云 閱讀:217 作者:柒染 欄目:編程語言

這篇文章跟大家分析一下“Struts框架及其組成部分是什么”。內(nèi)容詳細易懂,對“Struts框架及其組成部分是什么”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭?。下面跟著小編一起深入學習“Struts框架及其組成部分是什么”的知識吧。

一,什么是框架? 

所謂框架就是提供了一組統(tǒng)一的接口和編程方式的可以重用組件,同時我們可以在框架中擴充我們自己的特定邏輯。

二,MVC設(shè)計模式

將應(yīng)用程序分為3個部分:模型 Model,視圖View,控制器Controller;  模型組件:負責業(yè)務(wù)邏輯;   模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時它包含的***功能就是狀態(tài)。它對視圖或控制器一無所知。  視圖組件:負責表示業(yè)務(wù)范圍的視圖;   視圖提供模型的表示。它是應(yīng)用程序的外觀。視圖可以訪問模型的讀方法,但不能訪問寫方法。此外,它對控制器一無所知。當更改模型時,視圖應(yīng)得到通知。  控制器組件:負責控制用戶輸入的流和狀態(tài);   控制器對用戶的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。    Struts,它是使用 servlet 和 JavaServer Pages 技術(shù)的一種MVC 實現(xiàn);  Struts,Apache組織的一個項目,MVC 的一種開放源碼實現(xiàn);

三,什么是Struts框架

Struts 是一組相互協(xié)作的類、servlet 和 JSP 標記組成的一個可重用的 MVC 2 設(shè)計。  這個定義表示 Struts 是一個框架,而不是一個庫,但 Struts框架也包含了豐富的標記庫和獨立于該框架工作的實用程序類。

四,Struts 概覽

1,Client browser(客戶瀏覽器)    來自客戶瀏覽器的每個 HTTP 請求創(chuàng)建一個事件。Web 容器將用一個 HTTP 響應(yīng)作出響應(yīng)。

2,Controller(控制器)    控制器接收來自瀏覽器的請求,并決定將這個請求發(fā)往何處。    就 Struts 而言,控制器是以 servlet 實現(xiàn)的一個命令設(shè)計模式。 struts-config.xml 文件配置控制器命令。

3,業(yè)務(wù)邏輯    業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。    就 Struts 而言,這是通過作為實際業(yè)務(wù)邏輯“瘦”包裝的 Action 類完成的。

4,Model(模型)的狀態(tài)    模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對象更新應(yīng)用程序的狀態(tài)。    ActionForm bean 在會話級或請求級表示模型的狀態(tài),而不是在持久級。    JSP 文件使用 JSP 標記讀取來自 ActionForm bean 的信息。

5,View(視圖)    視圖就是一個 JSP 文件。其中沒有流程邏輯,沒有業(yè)務(wù)邏輯,也沒有模型信息 —— 只有標記。    標記是使 Struts 有別于其他框架(如 Velocity)的因素之一。

五, Struts中的Controller(控制器)

命令設(shè)計模式的實現(xiàn):   Struts 的控制器將事件(事件通常是 HTTP post)映射到類的一個 servlet.

ActionServlet (Command) 創(chuàng)建并使用 Action 、 ActionForm 和 ActionForward .   通過struts-config.xml 文件配置該 Command.從而擴展 Action 和 ActionForm 來解決特定的問題。   可以通過擴展 ActionServlet 來添加 Command 功能。 

在Struts框架中控制器組件由三個部分構(gòu)成:

1,消息控制模塊;    用戶所有的提交請求都發(fā)往消息控制模塊,在由消息總線模塊根據(jù)視圖映射模塊找到消息處理模塊來執(zhí)行處理邏輯。    消息控制模塊接收所有用戶的請求,并根據(jù)請求視圖找到處理。    Strtus中通過ActionServlet和RequestProcessor類來完成。

2,消息處理模塊;    該模塊執(zhí)行該消息的邏輯處理,因此通常由用戶擴展實現(xiàn)。Struts中通過Action類來實現(xiàn)。 

3,視圖映射模塊;    控制器邏輯和視圖邏輯之間的結(jié)合是通過配置模塊和配置文件建立其的鏈接。    Struts中配置模塊通過ModuleConfig類來完成,而配置文件由struts-config.xml文件提供?!?/p>

六,Struts中的View(視圖)

視圖組件通過JSP組件實現(xiàn)的。Struts框架對視圖組件進行了擴展和封裝。   Struts對視圖的擴展提供了一組擴展服務(wù)器標簽用來提供視圖顯示以及傳遞數(shù)據(jù)到處理緩沖,而處理緩沖由ActionForm的擴展類來實現(xiàn)。

Struts框架利用ActionForm Bean來實現(xiàn)視圖與控制器之間的數(shù)據(jù)的交互,維持會話級或請求級的模型的狀態(tài)。   

服務(wù)器標簽主要包括:  

Html視圖標簽   Logic邏輯流程控制標簽   Bean數(shù)據(jù)緩沖讀取標簽   

七,Struts中的Model(模型)

1,Struts框架中并沒有定義特定的模型組件,而是希望由用戶自己決定選擇合理的模型組件。   J2EE中可用的模型組件包括:    JavaBean 用戶定義組件;    EJB 組件,由EJB容器實現(xiàn)組件;    JDO 未來J2EE數(shù)據(jù)訪問模型;    一些擴展框架如:Hibernate; 

2,模型中狀態(tài)的級別   會話級或請求級:ActionForm bean來維持 ;   持久級:模型組件來維持。

關(guān)于Struts框架及其組成部分是什么就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關(guān)注一下億速云網(wǎng)站!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI