精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談UI組件與JSF應用

開發 后端
本文介紹UI組件與JSF應用,以及討論用JSF實現JCatalog的關鍵部分和設計決定。

High-level architecture design(總體架構設計)

設計Web應用系統的下一步是總體的架構設計。它包括將應用程序細分為功能組件,將這些組件劃分成若干層??傮w架構設計對于具體技術使用是中立的。

Multitiered architecture(多層架構)

多層架構把整個系統劃分成明顯的功能單元:客戶端,表示層,業務邏輯,綜合(Integration),EIS。這種架構確保了責任的明確劃分,使系統更加易于維護和擴展。三層或多層系統被證明比沒有業務邏輯層的c/s系統更加靈活和可擴展。

客戶層是數據模型被消費和表示的地方。對于一個Web應用來說,客戶層通常是Web瀏覽器。基于瀏覽器的瘦客戶端沒有包含表示邏輯,它要依靠于表示層。

表示層將業務邏輯層的服務暴露給用戶。它知道如何處理一個客戶端的請求,如何同業務邏輯層交互,如何選擇下一個view去顯示。

業務邏輯層包含了一個應用程序的業務對象和業務服務。它從表示層收到請求,根據請求處理響應的業務邏輯。業務邏輯層組件大大受益于系統級服務(比如安全管理,事務管理,資源管理)。

集成層是業務邏輯層和EIS(Enterprise Information System)層之間的一座橋梁。它把同EIS層交互的邏輯封裝起來。有時候把集成層和業務邏輯層合起來稱作中間層。

應用程序數據在EIS層持久化。它包括關系數據庫,對象數據庫和遺留系統。

JCatalog的架構設計

應用程序使用了一個多層非分布式的框架,上圖向我們顯示了應用層次是如何劃分的,每一層使用的具體技術。這張圖同時作為示例應用程序的部署圖。對于一個配置的架構,表示層,業務邏輯層,集成層都位于同一個Web容器中。定義良好的接口隔離每一層的職責。配置的架構讓應用簡單,可擴展。

對于表示層,經驗告訴我們最佳的方法是選擇一個已經存在的,經過考驗的Web應用框架,而不是自己設計和構建一個框架。我們有一些Web應用框架可供選擇,比如Struts, WebWork, JSF。我們為JCatalog選擇JSF作為表示層框架。

無論EJB還是POJO都可以用來構建業務邏輯層。如果應用程序是分布式的,則擁有遠程接口的EJB是一個很好的選擇。而我們的JCatalog是一個典型的沒有遠程訪問需求的Web應用,所以在Spring框架下的POJO被我們用來實現業務邏輯層。

集成層在關系數據庫上處理數據的持久化工作。有不同的方案可以用來實現集成層:
◆Pure JDBC:這是最靈活的方案;然而底層的JDBC用起來十分笨重,而且劣質的JDBC代碼性能也不好。
◆Entity beans:對于隔離數據訪問代碼和處理O/R映射數據持久化,CMP是一個很昂貴的方案。它是一個以app server為中心的方案。一個entity bean不會使應用依賴于某個數據庫,卻會讓應用依賴于某個EJB容器。
◆O/R mapping框架:O/R mapping框架是一個以對象為中心的實現數據持久化的方案。以對象為中心的應用很容易開發而且非常的輕便。在這個領域有不少的現成框架:JDO, Hibernate, TopLink, CocoBase等等。我們在本應用中使用Hibernate。

現在我們結合每一層來討論一下具體的設計問題。因為JSF是相對新的技術,我們會重點討論它的表示層和JSF,表示層收集用戶的輸入,表示數據,控制頁面導航,將用戶輸入委托給業務邏輯層。表示層也能夠驗證用戶輸入和維護應用會話狀態。在下面我們會討論表示層的設計考慮事項和模式,以及為什么我們選擇JSF來實現JCatalog的表示層。

1.Model-View-Controller

MVC是Java藍皮書強烈建議的交互型應用程序使用的結構設計模式。MVC分割設計關注,從而能夠減少代碼的重疊,集中控制,使應用更加可擴展。MVC同時幫助不同技能的開發者集中于他們擅長的技能方面,通過清晰定義的接口合作在一起。MVC是表示層的結構設計模式。

2.JavaServer Faces

JSF 是面向基于Java的Web應用而開發的server-side的UI組件框架。JSF包括了一組API,這些API用來表現UI組件以及保持它們狀態;處理事件,服務器端的驗證,以及數據轉換;定義頁面導航;支持國際化和accessibility;以及對這些功能提供可擴展性。同時它還包括兩個JSP custom tag libraryies,用來在JSP頁面中表示UI組和關聯組件與服務器端對象。(實際上JSF現在是一個規范和一組接口以及他提供的參考實現,你也可以自己做你自己的JSF實現,當然難度比較大,如果后面沒特指的話“實現”指的就是自帶的參考實現)

3.JSF和MVC

JSF非常適用于基于MVC的表示層框架。它對行為和表示有著清晰的劃分。它支持我們熟悉的UI組件和Web層的概念,卻不會把你限制在某些腳本技術或標記語言上。

JSF 的backing beans是model層(更多關于backing beans在后面的章節)。它們也可以包含動作,這些動作是作為控制器層的一個擴展以及把用戶的請求代理給業務邏輯層。請注意,從整個應用程序的框架來看,業務邏輯層也常常被稱為model層。(注意和這里的model層區別開)包含JSF標簽的JSP頁面是作為View層。而Faces Servlet則提供controller的功能。

為什么使用JSF?

JSF不僅僅是另一個Web框架,下面是它與一般的Web框架的不同:
◆象Swing一樣的面向對象的Web應用開發:服務器端聲明的,有event listeners和handlers的UI組件模型(就像Swing的組件),促使能夠面向對象的Web應用開發。
◆Backing-bean management:Backing bean是在頁面中與UI組件關聯對應的JavaBeans。Backing bean management將UI組件對象的定義,與保持數據執行應用相關處理的對象區分開來。JSF的具體實現在恰當的范圍內儲存和管理這些backing- bean的實例。
◆可擴展的UI組件模型:組成JSF應用的JSF UI組件是可配置,可重用的元素。你可以繼承這些標準的UI組件來開發更為復雜的組件,比如menu bar,tree組件等等。
◆靈活的表現模型:Renderer把UI組件的功能和它的view分開。不同的Renderer可以被創造出來,用來定義同一種客戶端或不同客戶端的同一個組件的不同的外觀。(簡單介紹一下,也就是說你可以定義HTMLRenderer, WMLRenderer來對同一組件生成HTML和WML格式的外觀。)
◆可擴展的轉換和驗證模型:你可以在標準的converter和validator的基礎上開發你的converter和validator提供更強大的功能。

盡管JSF很強大,但它現在還不成熟。JSF自帶的component, converter, validator是很基本簡單的。而且每一個組件一個的validation model還不能處理組件和validator之間多對多的validation。JSF標簽同JSTL還不能無縫連接。

在下面的章節中,我們將討論用JSF實現JCatalog的關鍵部分和設計決定。首先我們討論一下JSF中managed bean和backing bean的定義和使用。然后再介紹在JSF中如何處理安全

Managed bean, backing bean, view object, and domain object model
JSF 引入了兩個新概念:managed bean和backing bean。JSF提供了強大的管理bean的機制。一個被JSF管理的JavaBean對象叫做managed bean。一個managed bean描述了一個bean如何創建和管理的,這些和bean的功能無關。

Backing bean定義了頁面上的UI組件的屬性和處理邏輯。每一個backing bean的屬性對應一個組件或者組件的值。Backing bean同時定義了一組執行組件功能的方法,比如驗證組件的數據,處理組件觸發的事件,當組件activate時處理與導航相關的操作。

一個典型的JSF應用中的每一頁面都有一個backing bean。然而,實際中強制頁面和backing bean的一對一關系不是一個好的做法。它會導致類似代碼重復的問題。實際情況中,一些頁面也許會共享同一個backing bean。例如在JCatalog中,CreateProduct和EditProduct頁面共享同一個ProductBean定義。

一個View對象是一個只在表示層使用的model對象。它包含著必須在View層顯示的數據,包含著驗證用戶輸入,處理事件,同業務邏輯層交互的邏輯。在基于JSF的應用中,backing bean就是view對象。在本文中,backing bean和view對象是可互換的概念。與 Struts中的ActionForm和Action概念相比,使用JSF中的backing bean開發更加符合OO設計習慣。一個backing bean不僅僅包含顯示數據,還包括與這些數據相關的行為。而在Struts中,ActionForm和Action分別包含數據和邏輯。

我們大家都聽說過domain object model(域對象模型)。那么domain object model和view object有什么不同呢?在一個簡單的Web應用中,一個域對象模型經常穿越所有的層使用。然而在稍復雜的Web應用中,一個獨立的view object是很需要的。Domain object model是關于業務對象(BO)的,應該屬于業務邏輯層。它包含業務數據和與特定業務對象關聯的業務邏輯。一個view object包含著顯示相關的數據和行為。JCatalog的ProductListBean就是view object的一個好例子。它包含著表示層的數據和邏輯,比如分頁相關的數據和邏輯。將view object和domain object model分開的一個缺點就是必須在兩個對象模型之間進行data mapping。在JCatalog中,ProductBeanBuidler和UserBeanBuilder使用了基于反射的Commons- BeanUtils包來實現data mapping。

安全

目前,JSF并沒有內建的安全特性。示例應用的安全需求是很簡單的:僅當用戶要登錄到administration intranet時需要基于用戶名密碼的認證,而且不需要授權。
對于在JSF中的用戶認證,有以下方案:
◆使用一個backing bean基類:這各方案很簡單,但是會讓backing beans依賴于這個繼承結構。(也就是backing bean都繼承這個基類)
◆使用一個JSF ViewHandler包裝類:這個方案會把安全邏輯緊緊地限制在JSF這個特殊的Web層技術上。
◆使用servlet filter:一個JSF應用和其他的基于Java的Web應用沒什么區別,因此一個filter就是處理認證檢查的最好地方。這種方案安全邏輯不會綁定到特定Web應用上。
在示例應用中,SecurityFilter類處理用戶的認證。目前,受保護的資源只包括三個頁面,所以為了簡單起見,把它們的位置硬編碼到Filter類里面了,作為改進你可以把具體的安全規則和受保護的資源寫入配置文件中。

【編輯推薦】

  1. JSF組件模型開發指南
  2. Seam與JSF的加減法
  3. JSF圖形組件管理圖形bean組件
  4. 開發自定義JSF組件
  5. JSF和Tapestry全面比較
責任編輯:佚名 來源: JavaEye
相關推薦

2009-06-25 13:03:48

JSF的UI組件

2009-06-29 13:22:19

JSF技術JSF組件

2009-06-25 14:53:35

自定義UI組件JSF框架

2009-06-11 11:22:40

JSFJSPJSF的UI組件

2009-06-24 13:06:41

JSF組件Facelets

2009-06-22 13:27:01

JSF組件模型

2009-06-25 14:26:33

JSFDojo小部件

2009-06-24 14:59:00

圖形bean組件JSF圖形組件

2009-06-22 13:41:58

FaceletsJSF組件

2009-06-23 13:01:04

JSF應用

2009-09-21 17:30:25

組件復用服務復用

2009-06-24 16:30:21

JSF組件模型

2009-07-17 10:37:05

C#多線程

2009-07-08 09:32:25

Java設計模式

2009-06-24 15:13:36

自定義JSF組件

2009-06-23 17:54:41

OSGi與JSF

2009-06-17 15:18:38

JSF與Spring

2009-03-11 09:33:11

Lotus開發Workflow

2009-02-17 18:17:42

2009-07-14 11:08:42

WebRendererSwing應用程序
點贊
收藏

51CTO技術棧公眾號

日本中文字幕网址| 国产精品女人网站| 日韩www视频| 台湾佬中文娱乐网欧美电影| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美有码在线观看| 污污视频网站在线免费观看| 一区二区亚洲视频| 色综合激情久久| 一本二本三本亚洲码| 成人在线免费在线观看| 日韩av成人| 奇米色777欧美一区二区| 久久亚洲影音av资源网| 黄色性视频网站| 国精产品一区二区三区有限公司| 亚洲色图制服诱惑| 久久偷窥视频| 国产精品久久久久久久久久久久久久久久久久 | 在线观看一区二区精品视频| 欧美日韩一级在线| 清纯唯美亚洲色图| 国产伦精一区二区三区| 国产不卡精品视男人的天堂| 一区二区视频免费看| 精品影片在线观看的网站| 日韩视频免费观看高清完整版在线观看 | 日本午夜一区| 亚洲高清福利视频| 中文字幕中文在线| 最新欧美色图| 亚洲福利一区二区三区| 国产精品久久成人免费观看| 免费国产在线视频| 国产一区二区在线电影| 国产成人91久久精品| 色播视频在线播放| 欧美伊人影院| 自拍偷拍亚洲欧美| 好吊视频在线观看| 免费萌白酱国产一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 色中色一区二区| 日韩精品 欧美| 新版中文在线官网| 一区二区中文字幕在线| 热舞福利精品大尺度视频| 免费看国产片在线观看| 国产美女在线精品| 国产精品一区二区性色av| 依依成人综合网| 99精品欧美| 欧美激情一区二区三区高清视频| 婷婷激情四射网| 日韩综合精品| 正在播放欧美一区| 日本少妇xxxxx| 激情亚洲另类图片区小说区| 精品国产乱码久久久久久免费| 原创真实夫妻啪啪av| 国产剧情一区二区在线观看| 欧美日韩黄色影视| 国产色视频在线播放| 日韩av一级| 欧美性受xxxx| 最新中文字幕2018| 777午夜精品电影免费看| 色久优优欧美色久优优| 成人午夜视频在线观看免费| av资源一区| 五月天视频一区| 日韩小视频在线播放| 女人让男人操自己视频在线观看| 亚洲va在线va天堂| 一区二区传媒有限公司| 一级毛片久久久| 日本久久电影网| 天天爽人人爽夜夜爽| 国内欧美日韩| 欧美系列日韩一区| 熟女少妇精品一区二区| 免费视频成人| 日韩欧美亚洲国产另类 | 成人免费看的视频| 久久99精品久久久久久水蜜桃| 深夜影院在线观看| 国产午夜精品久久久久久免费视 | 日韩美女免费视频| 老熟妇一区二区三区啪啪| 精品一区二区免费在线观看| 69堂成人精品视频免费| 天天色综合久久| 国产欧美精品一区二区色综合朱莉 | 精品国产一区二区三区在线| 波多野结衣中文字幕久久| 欧美视频中文在线看| 亚洲成人av免费看| 精品久久亚洲| 亚洲精品美女视频| 免费黄色在线网址| 红桃视频国产一区| 日本在线精品视频| 成人av免费播放| 久久先锋影音av鲁色资源 | 99精品网站| 欧美精品久久一区二区| 国产一卡二卡三卡| 国产盗摄视频一区二区三区| 欧美日韩在线高清| 丝袜美女在线观看| 欧美影院精品一区| wwwww在线观看| 亚洲精品456| 久久亚洲国产精品| 久久青青草原亚洲av无码麻豆| 美美哒免费高清在线观看视频一区二区 | 黄色一级大片免费| 欧美日韩女优| 亚洲第一页自拍| 日本一级免费视频| 亚洲网站在线| 成人免费福利在线| 欧美高清成人| 亚洲成人av福利| 中文字幕中文在线| 国产欧美日韩| 久久久之久亚州精品露出| 做爰视频毛片视频| 91在线视频官网| 视频一区二区视频| 亚洲高清黄色| 亚洲精品久久久久| 欧美性x x x| 日韩经典中文字幕一区| 国内外成人免费视频| av在线看片| 欧美日韩卡一卡二| 国产一区二区三区四区五区六区| 最新亚洲激情| 亚洲影院高清在线| 免费a级在线播放| 色综合久久综合网| 国产xxxxxxxxx| 欧美xxx在线观看| 91丝袜美腿美女视频网站| 黄色在线网站| 一本久道久久综合中文字幕| 亚洲自拍偷拍精品| 影音先锋久久| 国产伦理久久久| 国产蜜臀在线| 91精品国产免费| xxxx日本免费| 久久久天天操| 日本一区二区三区在线视频| 伊人久久av| 日韩电影在线观看永久视频免费网站| 国产一级视频在线观看| 国产白丝网站精品污在线入口| 永久免费在线看片视频| 精品视频成人| www.日韩免费| 国产情侣在线播放| 亚洲精品国产一区二区精华液 | 久久精品资源| 深夜成人在线观看| 一区二区www| 国产精品久久久久aaaa樱花| 色悠悠久久综合网| 天天综合一区| 91免费观看| 国产又色又爽又黄刺激在线视频| 精品免费日韩av| 日韩xxx高潮hd| 99r国产精品| 青青青国产在线观看| 亚洲尤物av| 国产精品永久免费| 好操啊在线观看免费视频| 欧美一区二区三级| 精品午夜福利在线观看| 99精品黄色片免费大全| 国产激情在线观看视频| 精品在线99| 国产一区二区在线免费| 日本无删减在线| 日韩精品视频在线观看网址 | 国产亚洲成人一区| 日韩av电影免费观看| 欧美极品免费| 久久精品中文字幕| 欧美一级做性受免费大片免费| 一本一道久久a久久精品| 久久久久99精品成人| 国产精品一级片| 黄色片久久久久| 国产精品久久久久蜜臀| 国产一区喷水| 国产激情欧美| 久久久久久亚洲精品中文字幕| 少妇性bbb搡bbb爽爽爽欧美| 欧美日韩黄色影视| 国产午夜久久久| 中文字幕免费在线观看视频一区| 四虎国产精品永久免费观看视频| 激情亚洲成人| 一区二区三区不卡在线| 日本妇女一区| 亚洲伊人久久综合| 欧美色网在线| 欧美激情欧美狂野欧美精品| 91社区在线观看播放| 精品欧美乱码久久久久久1区2区| 依依成人综合网| 亚洲精品免费看| www.99热| 97se狠狠狠综合亚洲狠狠| 91亚洲精品久久久蜜桃借种| 99亚洲伊人久久精品影院红桃| 欧美少妇一级片| 精品一区二区三区的国产在线观看| 亚洲最大成人在线| 日韩欧美一区二区三区免费观看 | 另类欧美小说| 风间由美一区二区av101| 国产九九精品视频| 欧美大胆成人| 91超碰caoporn97人人| av午夜在线| 亚洲欧美日韩直播| 可以免费看毛片的网站| 欧美一区二区三区色| 亚洲在线视频播放| 色激情天天射综合网| 国产精品男女视频| 亚洲天堂久久久久久久| 欧美大波大乳巨大乳| 99精品在线观看视频| 国产成人av免费观看| 精品一区二区三区免费播放 | 国产一区二区三区高清播放| 五月婷婷激情久久| 日韩1区2区3区| 欧美三级午夜理伦三级| 一本色道久久综合| 久久手机在线视频| 欧美精品成人| 成人黄色片免费| 亚洲精品成人影院| 伊人久久大香线蕉午夜av| 不卡视频在线| 亚洲蜜桃在线| 日韩一区自拍| 在线看成人av电影| 久久中文字幕二区| 正义之心1992免费观看全集完整版| 久久综合99| 亚洲免费视频播放| 中文精品久久| 日韩专区第三页| 狠狠入ady亚洲精品| www.亚洲成人网| 亚洲精品韩国| 精品中文字幕av| 久久国产精品毛片| 欧美成人黑人猛交| 美腿丝袜一区二区三区| 色综合色综合色综合色综合| 久久99精品国产.久久久久| 我看黄色一级片| 国产一区二区不卡老阿姨| 成人在线短视频| 成人aa视频在线观看| 一级特级黄色片| 国产日韩精品一区| 亚洲欧洲综合网| 一区二区三区欧美| 久久久久久少妇| 欧美色图片你懂的| av老司机久久| 亚洲国产欧美自拍| 免费国产在线观看| 色偷偷噜噜噜亚洲男人| av在线导航| 欧美一级高清免费播放| 91av一区| 国产精品香蕉视屏| 国产日产精品_国产精品毛片| 亚洲精品国产精品国自产| 欧美精品偷拍| 日本三区在线观看| 精品一区二区日韩| 800av在线播放| 国产精品美女久久久久久久网站| 久久午夜鲁丝片午夜精品| 日韩欧美国产中文字幕| 国产又大又黄的视频| 亚洲国产毛片完整版| 在线免费av电影| 欧美精品videosex极品1| 日韩电影免费观看高清完整版| 91久久精品美女高潮| 66精品视频在线观看| 日本a级片久久久| 欧美日一区二区在线观看| 99草草国产熟女视频在线| 国产美女久久久久| 国产精品亚洲一区二区无码| 国产网红主播福利一区二区| 欧美久久久久久久久久久久| 在线观看日韩一区| 国产小视频免费观看| 中文字幕在线看视频国产欧美在线看完整 | 天然素人一区二区视频| 久草热久草热线频97精品| 国内自拍一区| 91视频福利网| 国产精品色呦呦| 精品久久久久久久久久久久久久久久久久| 精品久久一区二区| av在线导航| 国产色视频一区| 清纯唯美日韩| 国产九九在线视频| 欧美激情一区二区三区四区| 欧产日产国产69| 日韩激情av在线免费观看| 超碰资源在线| 国产欧美综合精品一区二区| 在线观看日韩av电影| 国偷自产av一区二区三区麻豆| 亚洲精品免费一二三区| 国产国语亲子伦亲子| 欧美成人午夜视频| 视频成人永久免费视频| wwwwww欧美| 成人福利视频网站| 国产精品第一页在线观看| 精品国产一区二区三区不卡 | 欧美色精品在线视频| 成人高潮成人免费观看| 国产精品观看在线亚洲人成网| 狠狠做深爱婷婷综合一区| 久久综合久久色| 国产精品美女久久久久久久久 | 97精品久久久午夜一区二区三区 | 精品人妻伦九区久久aaa片| 亚洲色图欧美偷拍| 国产又大又黑又粗| yw.139尤物在线精品视频| 偷拍自拍亚洲| www亚洲国产| 国产美女视频91| 热久久久久久久| 精品人妻无码一区| 欧美三级中文字幕| 青青青青在线| 91精品国产综合久久久久久丝袜 | 久久久久久久久久久久久久久久久久久久| 真实国产乱子伦对白视频| 成人激情黄色小说| 性无码专区无码| 亚洲深夜福利视频| 欧美一级做一级爱a做片性| 免费成人深夜夜行网站视频| 岛国av在线一区| 国产又大又黄又粗| 三级精品视频久久久久| 日韩免费成人| 中文字幕乱码人妻综合二区三区 | 樱花www成人免费视频| 懂色av一区二区三区免费观看 | 秋霞国产午夜精品免费视频| 强制高潮抽搐sm调教高h| 精品国产伦理网| 国产成人亚洲一区二区三区| a级片一区二区| 久久久精品欧美丰满| 91女人18毛片水多国产| 97精品视频在线观看| 日韩在线观看| 天天插天天射天天干| 欧美三级在线播放| 9lporm自拍视频区在线| 色一情一乱一伦一区二区三区 | 国产在线播放一区| 欧美另类一区二区| 久久国产一区二区三区| 欧美日韩精品一区二区三区在线观看| 色婷婷综合网站| 午夜天堂影视香蕉久久| 幼a在线观看| 欧美成ee人免费视频| 国产精品一区二区三区99| 99久久久久久久久| 欧美福利视频在线观看| 欧美色婷婷久久99精品红桃| 亚洲欧美高清在线| 欧美日韩一级视频| 伊人久久av|