精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

在线毛片观看| 久久精品色图| 亚洲视频免费| 日韩精品中文字幕视频在线| 91在线视频观看免费| 爆操欧美美女| 久久亚洲精品国产精品紫薇| 川上优av一区二区线观看| 精品无码久久久久| 欧美日韩性在线观看| 欧美一区二区日韩| 日韩av在线综合| 尤物yw193can在线观看| 国产午夜久久久久| 国产精品v欧美精品v日韩精品| 国产成人无码专区| 亚洲欧美伊人| 视频在线观看一区二区| 四季av综合网站| 自拍偷拍亚洲图片| 色偷偷久久人人79超碰人人澡 | 国产精品一区二区三区四区色| 国产剧情一区二区| 国产精品第一页在线| 日韩免费一级片| 欧美国产三级| 久久精品国产亚洲精品| 免费福利视频网站| 亚洲成人一品| 日韩电影免费在线观看中文字幕| 亚洲av无一区二区三区久久| 成人精品一区二区三区电影| 日韩欧美在线视频观看| 很污的网站在线观看| 神马午夜伦理不卡| 成人欧美一区二区三区小说| 四虎永久国产精品| 国产一区电影| 国产亚洲欧美日韩在线一区| 国产在线欧美日韩| 国产77777| 国产精品18久久久久| 国产综合香蕉五月婷在线| 色婷婷久久综合中文久久蜜桃av| 国产精品五区| 日产日韩在线亚洲欧美| 亚洲第一精品在线观看| 99国产精品| 91精品国产91久久久久久吃药| 久久久久无码国产精品不卡| 欧美a级片网站| 欧美成人午夜免费视在线看片| 免费看特级毛片| 91tv精品福利国产在线观看| xxxxx成人.com| 日韩一级片大全| 999精品色在线播放| 日韩一区二区三区国产| 小向美奈子av| 综合在线视频| 欧美大片在线看| av资源吧首页| 先锋影音久久| 国产精品美女www爽爽爽视频| 国产一级精品毛片| 国产中文一区二区三区| 亚洲一区精品电影| 亚洲国产精品无码久久| 成人av电影在线| 鲁丝一区鲁丝二区鲁丝三区| 国产黄色在线| 亚洲欧洲日韩一区二区三区| 亚洲国产一二三精品无码| caoporn视频在线| 欧美日韩一区二区在线| 91香蕉视频污版| av成人在线网站| 精品久久久久av影院 | 国产精品护士白丝一区av| 一级特黄录像免费播放全99| 50度灰在线| 精品露脸国产偷人在视频| 国产精品亚洲二区在线观看| 成人亚洲综合| 精品国产乱码久久久久久牛牛 | 国产精品久久久久永久免费观看 | 国产wwwwxxxx| 国自产拍偷拍福利精品免费一| 91国在线精品国内播放| 亚洲性猛交富婆| 国产伦精品一区二区三区视频青涩| 国产伦理久久久| 东凛在线观看| 亚洲成人精品一区| 国产福利在线免费| 日韩精品一区二区三区中文字幕 | 搞黄网站在线观看| 韩曰欧美视频免费观看| 手机在线国产视频| 免费看成人人体视频| 色悠悠久久久久| 亚洲黄色三级视频| 国产毛片一区二区| 青青草成人网| 91超碰国产在线| 欧美日韩卡一卡二| 黄色短视频在线观看| 久久久久久久久99精品大| 日本人成精品视频在线| 精品人妻无码一区二区| 中文字幕va一区二区三区| 国内少妇毛片视频| 国产精品国产三级在线观看| 亚洲欧洲日韩国产| 国产乱码久久久久久| 精品一区二区三区av| 欧美连裤袜在线视频| a级片在线免费| 欧美一区二区在线免费播放| 日本猛少妇色xxxxx免费网站| 亚洲视频狠狠| 97超碰人人看人人| 国产高清一区二区三区视频| 欧美午夜影院一区| 成年人网站免费在线观看| 欧美日韩国产一区精品一区| 国产精品专区h在线观看| 外国精品视频在线观看| 一区二区三区美女| 99中文字幕在线| 精品久久久久久久| 国产精品91视频| 四虎影视2018在线播放alocalhost| 亚洲最色的网站| 国产精品熟女一区二区不卡| 亚洲澳门在线| 国产色综合天天综合网| www.在线播放| 欧美伊人精品成人久久综合97| 亚洲最大的黄色网| 日韩午夜一区| 韩国成人av| 国内高清免费在线视频| 精品美女在线播放| 精品一级少妇久久久久久久| 国产高清久久久| 日韩一二区视频| 日韩三级av高清片| 欧美xxxx14xxxxx性爽| 国产日韩欧美视频在线观看| 亚洲免费av观看| 永久看看免费大片| 亚洲小说欧美另类婷婷| 精品伊人久久大线蕉色首页| 麻豆视频在线看| 亚洲欧美中文在线视频| 久久久黄色大片| 国产日韩欧美亚洲| 久久久久人妻精品一区三寸| 欧美一区二区性| 国产精品爽爽爽爽爽爽在线观看| 爱久久·www| 欧美日韩黄色影视| 手机在线免费看片| 国产69精品久久99不卡| 国产中文字幕视频在线观看| 日韩伦理一区二区三区| 国产国产精品人在线视| 色网站免费在线观看| 91精品国产综合久久久蜜臀粉嫩| 免费成年人视频在线观看| 国产成人精品三级| 国产三区在线视频| 日韩欧美中字| 国产精华一区| 日韩pacopacomama| 久久免费视频在线观看| 浓精h攵女乱爱av| 91视频精品| 成人av免费电影| 忘忧草在线影院两性视频| 在线免费观看羞羞视频一区二区| 国产免费一区二区三区免费视频| 亚洲一区在线观看视频| 亚洲AV无码国产成人久久| 麻豆91在线播放免费| 无码人妻精品一区二区蜜桃百度| 日韩成人午夜| 国产日韩在线亚洲字幕中文| 波多野结衣在线观看| 国产小视频国产精品| 国产激情视频在线播放| 色综合天天综合网天天看片 | 国产欧美日本一区视频| 免费成人黄色大片| 亚洲欧美卡通另类91av| 在线观看成人av电影| 丁香5月婷婷久久| 国产精品久久久av久久久| 大香伊人中文字幕精品| 中文字幕亚洲欧美日韩2019| 亚洲伦理在线观看| 欧美精品日韩综合在线| √资源天堂中文在线| 综合亚洲深深色噜噜狠狠网站| 亚洲一区二区三区黄色| 蜜桃av一区二区| 欧美性大战久久久久xxx| 亚洲有吗中文字幕| 神马影院我不卡午夜| 狠狠一区二区三区| 国产精品日韩在线一区| 国产盗摄——sm在线视频| 日韩在线观看你懂的| 每日更新av在线播放| 日韩你懂的在线播放| 在线免费看91| 色狠狠一区二区| 天堂网一区二区三区| 亚洲免费高清视频在线| 日韩欧美在线视频播放| 久久综合九色综合欧美98| 亚洲成年人av| 国产高清不卡二三区| 最新天堂在线视频| 青青草精品视频| 国产一级片黄色| 国产精品入口66mio| 精品少妇人妻av免费久久洗澡| 香蕉国产精品| 国产盗摄视频在线观看| 天天做天天爱天天爽综合网| 亚洲精品在线免费| 欧美日韩中文一区二区| 欧美亚洲爱爱另类综合| 色婷婷久久久| 免费久久久一本精品久久区| 日韩激情网站| 狼狼综合久久久久综合网| 偷拍一区二区| 美女主播视频一区| 自拍偷拍精品| 欧美日韩三区四区| 欧美日韩一区二区综合| 亚洲国产欧美不卡在线观看| 成人精品亚洲| 综合色婷婷一区二区亚洲欧美国产| 日韩欧美自拍| 色爽爽爽爽爽爽爽爽| 午夜欧美视频| 无码人妻少妇伦在线电影| 亚洲婷婷免费| 亚洲不卡中文字幕无码| 亚洲男人影院| 青青草av网站| 韩日欧美一区二区三区| 337p日本欧洲亚洲大胆张筱雨| 国产精品亚洲人在线观看| 第一页在线视频| 成人av网在线| xxxx日本黄色| 专区另类欧美日韩| 黄色一级片在线| 精品毛片三在线观看| 天堂网视频在线| 欧美人牲a欧美精品| 国产激情久久久久久熟女老人av| 亚洲成人黄色在线观看| 激情小说 在线视频| 色偷偷88888欧美精品久久久 | 欧美中文字幕在线播放| 国产一区一一区高清不卡| 国产原创欧美精品| 日韩精品久久久久久久软件91| 国产一区免费| 成人a'v在线播放| 免费cad大片在线观看| 一本久久综合| 最新免费av网址| 不卡的看片网站| 国产精品www爽爽爽| 亚洲一区日韩精品中文字幕| 91青青草视频| 日韩欧美一区在线| 欧美xxx.com| 麻豆一区二区在线观看| 中文av在线全新| 成人黄色片在线| 一道本一区二区三区| 咪咪色在线视频| 亚洲制服av| 精品人妻一区二区乱码| 国产欧美一区二区精品秋霞影院| 午夜国产福利一区二区| 欧美日韩中文字幕| av一级黄色片| 亚洲人成在线免费观看| 亚洲性图自拍| 国产精品女人网站| 免费成人三级| 黄色特一级视频| 日本免费在线视频不卡一不卡二 | 国产精品久久777777换脸| 亚洲精品456在线播放狼人| 黄色网址视频在线观看| 日韩av第一页| 国产精品三p一区二区| 咪咪色在线视频| 日韩高清不卡在线| 极品白嫩丰满美女无套| 亚洲精品日韩专区silk| 在线中文字幕网站| 亚洲美女黄色片| 成人超碰在线| 亚洲综合中文字幕在线| 97视频热人人精品免费| 国产情侣av自拍| 91论坛在线播放| 日韩av黄色片| 日韩午夜三级在线| 大地资源网3页在线观看| 国产精品精品视频| 亚洲精品合集| 黄色片视频在线免费观看| k8久久久一区二区三区| 久久这里只有精品国产| 欧美一级高清大全免费观看| 麻豆网站在线观看| 国产欧美精品一区二区| 日韩av大片| 污视频网站观看| 国产精品免费免费| 亚洲一级片免费看| 中文字幕在线精品| 澳门av一区二区三区| 日韩精品伦理第一区| 久久综合五月| 亚洲黄色小说视频| 色欧美88888久久久久久影院| 青青草视频免费在线观看| 2021久久精品国产99国产精品| 国产亚洲成av人片在线观黄桃| 久久久久久人妻一区二区三区| 成人av一区二区三区| 国产精品500部| 日韩精品中文字幕视频在线| 极品美女一区| 日本一区不卡| 久久97超碰国产精品超碰| 亚洲综合久久av一区二区三区| 欧美日韩国产高清一区二区| 欧美午夜电影一区二区三区| 91九色国产在线| 亚洲一级一区| 人妻丰满熟妇aⅴ无码| 欧美午夜无遮挡| 在线观看美女网站大全免费| 国产美女搞久久| 欧美91精品| www.88av| 欧美午夜在线一二页| gogo在线高清视频| 国产精品一区二区欧美| 美女诱惑一区| 99精品中文字幕| 日韩欧美在线网站| 九色porny丨国产首页在线| 日韩av一区二区三区在线| 久久国产精品免费| 欧美成人片在线观看| 日韩电视剧免费观看网站| 91精品国产经典在线观看| 欧美 日韩 国产精品| 久久亚洲综合色| 6—12呦国产精品| 午夜精品久久17c| 日韩久久视频| 在线观看一区二区三区四区| 色综合天天综合网国产成人综合天 | 日韩激情片免费| 免费成人高清在线视频| 97免费视频观看| 中文字幕av一区 二区| 亚洲精品国产精品国| 日韩av色在线| 欧美 日韩 国产精品免费观看| www.自拍偷拍| 日韩免费成人网| 欧美123区| 国产欧美久久久久| 亚洲国产电影在线观看| 亚洲精品国产精品国| 国产精品久久av| 在线观看一区| 亚洲a∨无码无在线观看| 亚洲精品美女在线| 国产精品一区二区三区www| 久久美女福利视频| 一区二区三区美女| 欧美成年黄网站色视频|