熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JSP技術優缺點深入分析[5]

2013-11-15 12:20:36  來源: JSP教程 

  可移植性和語言鎖定

  JSP 技術將您鎖定到某種特定的語言這一點不應該給予太多的關注至少在我看來Java 技術是企業應用程序的惟一 選擇在這個領域根本不存在可以獨立於語言的解決方案當然在這個時候我沒有把 Microsoft NET 平台牽涉進來只有時間可以告訴我們這個平台是否可以真正獨立於語言(我很懷疑這一點)

  然而選擇 JSP 技術將強制您使用 Java 語言至少對於內容和表示是這樣的盡管 CORBA 可以用於業務邏輯JSP 編碼要求必須熟悉 servlet 和核心 Java 語言因為很多開發人員通過 JEE 平台接觸 JSP 編碼因此這通常算不成問題

  混合和獨立

  在本篇文章中我始終圍繞分離內容和表示這一概念您可能對此已經感到不耐煩那麼現在讓我們看看 JSP 究竟能不能實現這個目標正如我們之前討論的一樣JSP 宣稱 一直致力於實現內容和表示分離那麼我們可以因此認為它實現了目標是嗎?未必如此

  內容和表示之間的界限變得模糊

  JSP 允許將 Java 代碼插入到標記語言頁面中這個非常危險的特性允許將內容混合到表示中更糟糕的是業務邏輯通常會進入到 JSP 頁面中如清單 所示

﹤%@ page import=comibmdisplayPageUtils %﹥
﹤%@ page import=comibmdisplayPageInfo %﹥
﹤%@ page import=comibmlogicAdminUtils %﹥
﹤%@ page import=comibmpeopleActor %﹥
﹤%@ page import=javautilIterator %﹥
﹤%@ page import=javautilVector %﹥
﹤%
PageInfo pageInfo = (PageInfo)sessiongetAttribute(PAGE_DATA)
%﹥
﹤HTML﹥
﹤HEAD﹥
﹤TITLE﹥
﹤%=pageInfogetTitle()%﹥
﹤/TITLE﹥
﹤/HEAD﹥
﹤BODY﹥
﹤H ALIGN=center﹥Search Results: Actors﹤/H
﹤CENTER﹥
﹤HR width=%
﹤TABLE width=% CELLPADDING= CELLSPACING= border=
         BGCOLOR=#FFFFCC
﹤%
// Based on users permissions perform search differently (business logic!)
Vector actors = pageInfogetActors()
if (pageInfogetUserInfo()hasPermission(ADMINISTRATOR)) {
   actors = AdminUtilsgetActors(pageInfogetSearchCriteria());
} else {
   actors = pageInfogetActors();
}
for (Iterator i = actorsiterator(); ihasNext()) {
Actor actor = (Actor)inext();
%﹥
    ﹤TR BGCOLOR=#FFCCCC
      ﹤TH width=% ALIGN=center
       ﹤%=actorgetLastName()%﹥
      ﹤/TH﹥
      ﹤TH width=% ALIGN=center
       ﹤%=actorgetFirstName()%﹥
      ﹤/TH﹥
    ﹤/TR﹥
﹤%
}
%﹥
﹤/TABLE﹥
﹤/CENTER﹥
﹤/BODY﹥
﹤/HTML﹥

[]  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20763.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.