明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

使用JavaBean高效處理JSP(4)

[摘要]最后的要點:框架  通過將表現(xiàn)和邏輯分離開來,該架構(gòu)可讓你獨立地修改表現(xiàn)(JSP)和邏輯(bean)。這意味著你可以修改bean中的邏輯而無需改動JSP,只要你保持bean的屬性不變就行了。相反也是...
最后的要點:框架

  通過將表現(xiàn)和邏輯分離開來,該架構(gòu)可讓你獨立地修改表現(xiàn)(JSP)和邏輯(bean)。這意味著你可以修改bean中的邏輯而無需改動JSP,只要你保持bean的屬性不變就行了。相反也是成立的,你可以將JSP代碼交給HTML開發(fā)者和美工來改變站點的外觀,而不會影響其中的Java代碼。

  你可以稍微修改該框架的核心元素來滿足你應(yīng)用的特別需要。你可以加入新的或者修改現(xiàn)有的方法,或者修改模板的方法。重要的一點是,在你的整個應(yīng)用中,全部的JSP和JSP JavaBean都應(yīng)該使用這個架構(gòu)。

  在剛開始時,這個架構(gòu)看來比較復(fù)雜,特別是對于一個只有三頁的例子應(yīng)用來說。不過,如果你開始寫你的應(yīng)用,你將會發(fā)現(xiàn)當應(yīng)用變復(fù)雜時,代碼量的增長卻沒有預(yù)期的大。

  這個架構(gòu)并沒有談到Web應(yīng)用中通常用到的多層設(shè)計。它主要集中在JSP的表現(xiàn)層。要建立真正的三層或者多層的系統(tǒng),JSP JavaBeamn將需要調(diào)用Enterprise JavaBean或者一些其它的商業(yè)邏輯實現(xiàn)。

  例子還介紹了讓應(yīng)用跟蹤HTTP session的架構(gòu)。不過,如果你不想依賴session的話,該架構(gòu)仍然可以工作得很好。應(yīng)用的頁面和流程應(yīng)該是分別設(shè)計的。你可能將不需要SharedSessionBean。你的頁面只是用作表現(xiàn),而獨立的頁面將僅用作處理和驗證,而不會有任何的HTML輸出。為此,你將主要使用beanFirstPassProcess() 方法。

  最后的要點:例子

  我使用Tomcat3.1來測試這個例子,Tomcat3.1符合JSP1.1和Servlet2.2規(guī)范。這篇文章將不會討論如何在Tomcat中配置JSP應(yīng)用的詳細情況。

  在測試該例子時,你可以在VoteDB類的源代碼中得到Voter ID,以便可以進行登錄測試(密碼和ID是一樣的)。

  你必須在瀏覽器中允許cookies,否則不能成功運行例子。如果你需要在禁止cookies時仍然可以運行這個應(yīng)用,你必須重新寫URL(使用the javax.servlet.http.HttpServletResponse類的encodeURL()方法)。你需要重寫全部應(yīng)用中的URL,包括你的JSP中的鏈接,form標記中的action,以及在JSP JavaBean中用來重定向URL的HTTP請求。

  結(jié)論

  這篇文章介紹的架構(gòu)為JSP的應(yīng)用設(shè)計提供了一個全面的解決辦法。它改進了代碼重用,確定了應(yīng)用的體系,并且便于擴展。一個最大的好處是將表現(xiàn)和邏輯分開,你可以獨立改變它們,而不會影響另一方。