Java技術是一個體系,主要包含三個部分:J2SE(標准版)、J2EE(企業版)、 J2ME(移動版)。
當然這其中應用最為廣泛的當屬J2EE。
java的客戶端也可以分成兩種,一種是軟件交互形式(Client/Server,C/S模式),主要由J2SE完成;另一種是瀏覽器交互形式(Browser/Server,B/S模式),主要由J2EE實現。(XML作為數據傳輸方式,不屬於數據表現層,不算是客戶端)
J2EE的表現層主要是jsp技術(當然,表現層實際中還會包含html,css,javascript客戶端腳本及其類庫,flash平台應用等)。
Java的B/S模式架構具體可有以下幾種組合:
1. jsp
純jsp+html+JavaBean就可以實現簡單的B/S架構,類似於基於php的WordPress博客程序,比較簡單方便。在html代碼中混合jsp代碼,直接在頁面通過dao訪問數據庫,得到數據並顯示。
2. jsp+Servlet
這是基於MVC(Model-View-Control,模型-視圖-控制)的一種架構。jsp作為視圖層(表現層),Servlet作為Control層,負責處理請求分發,是業務邏輯層,Model層則是JavaBean,負責數據的封裝及與視圖層的交互。
3. jsp+Struts
Struts(Struts1.2)實現了對請求分發的統一配置管理,Action通過單例模式,減少了服務器內存消耗;ActionValidateForm實現了表單的預處理和服務器端驗證,提高了安全性。
4. jsp+Struts+Spring+Hibernate
Spring常見的模塊是IOC和AOP,Spring IOC基於控制反轉思想的一種新架構,通過配置文件統一配置,進行屬性注入,實現了軟件基於組件的可插拔,極大地降低了業務邏輯層與JavaBean的耦合度;Spring AOP是面向方面編程的一種實現,通過代理模式實現了強大的事務管理。
5. jsp+Struts+Spring+EJB
EJB是Enterprise JavaBean的縮寫,是一種SOA(面向服務架構),通過向用戶提供統一接口(service抽象接口),用戶可以通過該接口訪問服務,實現RMI(遠程方法調用),並且對用戶屏蔽了數據庫的細節和具體函數,保證了服務器端的數據安全。
其實,采用各種框架帶來了一些執行效率上的問題,但是在J2EE項目中,用戶的需求不斷改變,企業只有通過采用成熟的框架,降低開發成本,提高代碼重用性,才能在市場中生存。框架讓程序員可以把精力更多地放在業務邏輯層,開發出復雜業務邏輯的行業方案,比如醫療、財務。
注:
以上只是常見的幾種技術(框架)組合,實際中可有其它選擇;以上的組合中均應包含JavaBean,如vo(po)、dao、factory等,由於JavaBean也可重用於C/S模式,故沒有將之包含在內;B/S模式一般還應該包含數據庫。
– EOF –
原帖地址:http://hi.baidu.com/csu%C5%E5%E8%A4/blog/item/c2bf9dc65c8048d1d0006059.html