前言
Struts與EJB結合進行B/S模式的開發,解決了“表示”與“業務邏輯”的分離,“業務邏輯”與“數據”的分離問題以及頁面的多變性問題,發揮EJB基于組件分布式計算結構的優勢,從而大大提高了Web應用的開發效率,數據安全性和可維護性。
1、Struts與EJB結合B/S的開發模式
1.1、MVC模式
MVC(Model/View/Controller)模式最早是在Smaltalk中出現的。MVC包括三類對象,簡單地說,Model是應用對象,View是它在屏幕上的表示,Controller定義用戶界面對用戶輸入的響應方式。
MVC設計模式中的“模型”指的是真正執行任務的代碼。在模型同界面分離的情況下,代碼即可實現可治理性和可重用性。模型通常被稱為“業務邏輯”。所謂“視圖”就是使用界面,界面的每一部分都只能包含采集數據的足夠邏輯,并把它傳遞給設計模式中的其他組成部分以進行處理?!翱刂破鳌笨刂浦P秃鸵晥D之間的交互過程。它決定著向用戶返回怎樣的視圖、檢查通過界面輸入的信息以及選擇處理輸入信息的模型。
在jsp開發中,最長使用Model2。Model2實際上就符合MVC模式,其中各組件的關系如圖1所示。
1.2、Struts+EJB開發模式
Struts是一種符合MVC模式的框架。Struts采用JSP作為MVC的視圖,java Servlet作為控制器,JavaBean作為模型。Struts的處理過程如圖2所示。
首先,控制器(Action Servlet)進行初始化工作,讀取配置文件(struts-config.xml),為不同的Struts模塊初始化相應的ModuleConfig對象??刂破鹘邮誋ttp請求,并從ActionConfig中找出對應于該請求的Action子類,假如沒有對應的Action,控制器直接將請求轉發給JSP或者靜態頁面,否則控制器將請求分發至具體Action類進行處理。在控制器調用具體Action的Execute方法之前,ActionForm對象將利用Http請求中的參數來填充自己。Action要處理的業務邏輯封裝在JavaBean中,通過JavaBean調用EJB以完成業務處理。Action執行完后返回一個ActionFroward對象。
2、簡單的Web服務體系結構
當您要將企業應用程序轉變成與 Web 服務一起使用時,最簡單的途徑就是將單個操作與單個的企業服務結合在一塊,如圖3所示。
在這種設計方法中,實現業務邏輯的服務與實現數據檢索的服務是混合在一起的。這樣的一種 Web 服務可以很輕易從已有的業務組件中開發出來。然而,它有很多的缺點:對用戶沒有提供統一認證,提供者與訂閱者耦合不緊,業務邏輯沒有重用。簡而言之,對于一個連貫的解決方案來說這并不是一個非常好的體系結構。
3、采用 Struts的 Web 服務
新聞熱點
疑難解答