官术网_书友最值得收藏!

1.4 JSP的開發模式

JSP自產生到現在,應用越來越廣泛,其相關技術也越來越多,如JavaBean、EJB等。隨著相關技術的產生,使JSP技術更容易實現Web網站的開發和控制。JSP網站開發技術經常使用下面幾種組合開發網站,包括純粹JSP技術實現、JSP+JavaBean實現、JSP+JavaBean+Servlet實現、J2EE實現等。不同的開發組合,可以稱為不同的設計模式,最常用的技術是JSP+JavaBean+Servlet。

1.4.1 純粹JSP實現

使用純粹JSP技術實現動態網站開發,是JSP初學者經常使用的技術。JSP頁面中包含所有完成頁面功能的元素,如HTML標記、CSS標記、JavaScript標記、邏輯處理、數據庫處理代碼等。這么多類型的元素,混合在一個頁面中,容易出現錯誤。并且在出現錯誤后,不容易查找和調試。實際中,Java Web應用一般不會將所有頁面全部采用純粹的JSP實現。

1.4.2 JSP+JavaBean實現

JSP+JavaBean技術的使用,很好地使頁面靜態部分和動態部分相互分離。在這種模式中,JSP使用HTML、CSS等可以構建數據顯示頁面,而對于數據處理,可以交給JavaBean處理,如數據庫訪問。把執行業務功能的代碼封裝到JavaBean中,同時也達到了代碼重用的目的。如顯示當前時間的JavaBean,不僅可以用在當前頁面,還可以用在其他頁面。JSP+JavaBean相對純粹JSP實現,將頁面顯示與業務處理的分離,使其結構上更加清晰。

1.4.3 JSP+JavaBean+Servlet實現

JSP+JavaBean+Servlet技術的組合,很好地實現了MVC模式,MVC(Model-View-Controller),中文翻譯為“模型-視圖-控制器”,MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變了Model或View,或者同時改變兩者。只要Controller改變了Model的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。MVC模式最早是Smalltalk語言研究團提出的,應用于用戶交互應用程序。MVC模式是一個復雜的架構模式,其實現也顯得非常復雜。MVC三個部分的形式如圖1.3所示。

圖1.3 MVC三個部分的形式

視圖(View)代表用戶交互界面,隨著Web應用的復雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,在MVC中視圖組件通常用來完成用戶交互和數據顯示,不會在視圖中完成業務邏輯處理。業務邏輯處理由模型組件來完成,例如,在一個有關訂單操作的Web應用中,視圖組件(JSP)可以用來完成顯示訂單數據和提交訂單信息。

模型(Model)就是業務流程的處理,以及業務規則的制定。業務流程的處理過程對其他層來說是黑箱操作,控制器組件接受視圖組件傳遞的數據并調用模型組件完成業務功能,模型組件將處理結果返回給控制器,由控制器將負責跳轉至某個視圖組件顯示處理結果。業務模型的設計可以說是MVC的核心。按照MVC設計模式的要求,業務邏輯操作應該被抽取出來封裝在模型組件中。Model常由JavaBean實現。

控制器(Controller)可以理解為從用戶接受請求,根據請求使用對應的模型進行處理,再將處理結果傳遞給視圖,完成用戶的請求。控制器相當于一個分發器,它根據用戶請求,選擇模型和視圖,完成用戶請求的處理,控制器并不做任何的數據處理。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。

模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其他依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示更新。

1.4.4 J2EE模式實現

J2EE是純粹基于Java的解決方案。1998年,Sun發布了EJB 1.0標準。EJB是企業級應用的JavaBean,為企業級應用中必不可少的數據封裝、事務處理、交易控制等功能提供了良好的技術基礎。在J2EE平臺的三大核心技術Servlet、JSP和EJB支持下,1999年,Sun正式發布了J2EE的第一個版本。到2003年時,Sun的J2EE版本已經升級到了J2EE 1.4版,其中三個關鍵組件的版本也發展到了Servlet 2.4、JSP 2.0和EJB 2.1。至此,J2EE體系及相關的軟件產品已經成為了Web服務器端開發的一個強有力的支撐環境。在這種模式里,EJB替代了前面提到的JavaBean技術。

在Web服務器端,2000年以后出現了幾種主要的技術融合方式。首先,越來越多的Web開發環境開始支持MVC的設計模型,為開發者提供了全套的開發框架。實際上,J2EE和.NET平臺本身就是這種開發框架的典型代表。開源項目在Web開發框架和應用模型方面表現得非常積極,Struts、Jetspeed、JPortlet、Cocoon、Lenya、XOOPS等都是開源世界里與MVC開發框架、門戶服務和Web內容管理相關的優秀解決方案。

J2EE設計模式由于框架大、不容易編寫和調試,因此比較難以掌握。目前只是應用在一些大型的網站上,當然,J2EE模式的前景是好的,是Java Web應用開發的發展方向。

對于上述4種JSP開發模式,純粹JSP實現常用于初學者學習,實踐中常用的是JSP+JavaBean實現和JSP+JavaBean+Servlet實現。只有在充分理解這兩種開發模式的基礎上,才能掌握J2EE設計模式。

主站蜘蛛池模板: 资中县| 新密市| 汕尾市| 盐津县| 文安县| 永清县| 泗水县| 武鸣县| 拉孜县| 临漳县| 页游| 屯留县| 偃师市| 高淳县| 齐河县| 东安县| 渝北区| 梓潼县| 中方县| 武宁县| 兰考县| 互助| 凤翔县| 富源县| 舞钢市| 元谋县| 鹤岗市| 扶余县| 文安县| 河源市| 塔河县| 封开县| 朝阳市| 江陵县| 余庆县| 万载县| 合作市| 嘉定区| 古丈县| 彰化市| 西畴县|