當前位置:開發者網絡 >> 技術教程 >> JSP教程 >> Jsp/Servlet >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
使用JavaBean高效處理JSP(1)
作者:未知
日期:2003-07-26
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
摘要:JavaServer Pages Model II的一個基本思想就是將表現(HTML)和處理邏輯分開。這篇文章介紹的是一個高效、可重用的設計方法,將動態的內容、處理和驗證由JavaServer Page中分離出來,放到一個相應的JavaBean中。它使用Template Method的設計方法,可提高代碼在整個Web應用中的重用性。此外,它還介紹了在一個HTTP Session中bean間如何通信的簡單技巧。

  JavaServer Pages(JSP)技術提供了許多的特性,可讓你簡易和快速地開發Web應用。不過,如果你無計劃和結構地使用這些技術,你的JSP代碼將會是各種HTML標記、JSP標記和Java代碼的混合,很難於看懂、調試和維護。

  這裡的目標是將全部的JSP處理代碼封裝到JavaBean中。這種方法的好處是HTML編程者和美工可以做表現的開發(使用HTML編輯器),而Java編程者可以集中開發編程邏輯。此外,這種方法可便於你為同一個Web應用提供不同的外觀。

  我將介紹的架構使用Template Method方法,可集中實現整個應用的共有設計部分和實現每個JSP的共有處理。就這個例子,共有的處理包括有頁面狀態管理、共有的頁面處理、共有的錯誤處理,以及在頁面間共享信息的技術。所有這些僅是定義一次,你可在頁面設計時再處理特定的細節。

  我將以一個簡單的"投票"應用為例,介紹如何使用這個架構。你應有基本的JSP和Java知識,並且最好懂得一些UML知識。

  總的靜態結構

  這個部分將介紹該架構核心部分的概觀,以及投票應用的例子。圖一顯示了該架構的一個UML框圖:



**************圖一*******************
(UML類框圖)

  該架構的中心部分由兩個共有的JSP包含文件和兩個類組成,下面將會談到。它們的作用是完成共有的處理。

   includeheader.jsp:這個JSP文件必須被靜態包含在每個JSP文件的開頭。

   includefooter.jsp:這個JSP文件必須被靜態包含在每個JSP文件的末尾。

  AbstractJSPBean:這是一個抽像類,你應該將它作為所有JSP JavaBean類的一個超類使用。它是該架構的核心類。

   SharedSessionBean:在一個HTTP session中,為所有的JSP JavaBean對像提供關聯。

  JSP網頁只是用作表現的。每個JSP頁面都應該使用一個相應的JavaBean來處理特定頁面的邏輯。每個JSP頁面都應該靜態包含includeheader.jsp和includefooter.jsp。每個JavaBean都必須擴展AbstractJSPBean,該抽像類包含有模板方法,可完成共有的處理。

  這個投票的應用包含有以下的JSP和相應的JavaBean:

   login.jsp, LoginJSPBean:投票者認證和登錄

   vote.jsp, VoteJSPBean: 執行投票

   confirmation.jsp, ConfirmationJSPBean: 顯示確認和投票的結果

  我將不會詳細討論數據庫和商業邏輯的部分((Voter, Candidate和VoteDB),不過它們對於這個例子是必需的。

  以上我們已經對整體有了一個概觀,接著我們將討論例子中的每個JSP頁面。
相關文章: