自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaServer Faces(JSF)簡介

開發(fā) 后端
本文主要介紹JavaServer Faces(JSF)簡介,以及具有代表性的JSF簡化Web開發(fā)技術(shù)。

JavaServer Faces是Sun公司推出的一種Web用戶界面框架,隨J2EE的新版本Java EE 5一起發(fā)布。JSF的目標是簡化Web開發(fā),為此,Sun在JSF中提出了許多技術(shù)措施,其中包括UI組件、事件驅(qū)動和Managed Bean等等。本專題將以系列的形式,介紹JSF簡化Web開發(fā)技術(shù)中具有代表性的幾項技術(shù),試圖使讀者對JSF技術(shù)有一個概括的了解,從而理解JSF是如何簡化Web開發(fā)的。本文是系列的第一篇,從總體上介紹了JSF的技術(shù)特點。

1. JavaServer Faces簡介

JavaServer Faces是Sun公司的一項技術(shù),簡稱JSF。按照Sun公司的定義,JSF是Java Web應用的用戶界面框架,其設(shè)計目標是簡化Web應用的開發(fā)和維護。JSF對Web應用開發(fā)的簡化,可以概括為四個方面:


第一,JSF提供了一組用戶界面組件,這些組件是可重用的,程序員可以利用這些組件方便的構(gòu)建Web應用的用戶界面;


第二,利用JSF,在用戶界面組件和業(yè)務邏輯之間傳遞數(shù)據(jù)將變得非常簡單;


第三,JSF可以維持用戶組件的狀態(tài),并且可以將狀態(tài)從一個請求傳遞到另一個請求;


第四,JSF允許程序員非常容易地開發(fā)自定義的用戶界面組件,而且這些自定義用戶界面組件同樣可以重用。

JSF技術(shù)的另一個重要特征是,JSF是面向工具的。JSF建立了開放的標準,工具廠商依據(jù)這個標準,可以為Web應用開發(fā)過程中的各個角色,提供強大的工具支持。例如,可視化的頁面編輯器,可以給頁面設(shè)計師提供“所見即所得”的功能,構(gòu)建一個網(wǎng)頁,只需簡單地從面板中拖放一個個用戶界面組件到網(wǎng)頁上;又比如,JSF的頁面導航也可以利用工具來操作,在A頁面與B頁面之間畫一條連線,指定一個邏輯出口,就定義了從A頁面到B頁面的一個有條件的過渡。

如果你不愿意使用工具,或者某些工具暫時還沒有,你也可以利用JSF來方便的構(gòu)建Web應用。JSF向程序員開放了框架和編程模型的API,某些高級用戶,例如核心程序員,可以利用這些API編寫代碼,以滿足應用的某些特殊要求。比如說,在JSF中,用戶界面組件和后臺Bean是通過表達式語言來溝通的,JSF定義了表達式語言的標準語法,如果覺得這些語法不能滿足應用要求,那么,程序員可以編寫自己的表達式語言解釋器,然后通過API用自定義的解釋器替換默認的解釋器。

JSF的專家組在開發(fā)JSF規(guī)范時,對Web應用進行了高度的抽象和歸納,這使得JSF的技術(shù)高度要遠遠高于眼下流行的其他Web框架。在規(guī)范級別,JSF的核心架構(gòu)既獨立于具體的傳輸協(xié)議,也與具體的標識語言無關(guān)。協(xié)議和語言的無關(guān)性,為JSF技術(shù)在其他領(lǐng)域的應用打下了堅實的基礎(chǔ)。

當然,JSF最直接的服務對象,還是基于HTTP協(xié)議和HTML客戶端的Java Web應用。Java Web應用運行在支持Servlet或JSP技術(shù)的Java應用服務器上,這些應用通常是基于表單的,由若干個頁面組成,用戶通過頁面和表單訪問Web應用所提供的功能。以現(xiàn)存的Java Web技術(shù)編寫這樣的應用,不是一件容易的事,程序員面臨著許多難題,例如,如何跨請求管理用戶組件的狀態(tài),如何封裝不同瀏覽器的差異,如何處理表單,如何為客戶端事件編寫服務器端處理例程,如何驗證請求數(shù)據(jù)的有效性,如何在請求字符串和后臺對象之間轉(zhuǎn)換數(shù)據(jù)類型,如何處理異常并給出適當?shù)奶崾疽约叭绾卧陧撁嬷g導航等等。而JSF的目標,就是要解決這些難題。
 
2. 具有代表性的JSF簡化Web開發(fā)技術(shù)

站在技術(shù)的角度,JSF是相當復雜的一個框架,因此,JSF技術(shù)的完整介紹,是一項“大工程”,其內(nèi)容包括請求處理生命周期、用戶界面組件模型、標準的用戶界面組件、統(tǒng)一的表達式語言、托管bean機制、請求的上下文狀態(tài)信息、頁面導航方法、呈現(xiàn)模式、與JSP的集成以及生命周期管理等等。限于篇幅和時間,本文只是擇其要點加以羅列,不能涉及JSF的所有細節(jié),不過,即便是這樣走馬觀花,也足以展示JSF技術(shù)在某些方面的領(lǐng)先性了。

要說明一項技術(shù)的領(lǐng)先性,最好的辦法莫過于與其競爭對手進行對比。在Java Web編程中,JSF的最大對手無疑是JSP和Struts。前者是初級程序員的不二選擇,而后者則是Java Web事實上的框架標準。不可否認,JSP和Struts都是優(yōu)秀技術(shù),不過,站在抽象思維的角度去考察這兩種技術(shù),就會發(fā)現(xiàn),JSP和Struts的抽象層次都要低于JSF。

在Web應用的架構(gòu)中,顯然,Web Server位于抽象級別的最底層,直接處理Http請求和響應;Servlet在Web Server之上,具有會話管理、生命周期管理、基本的錯誤處理等功能;在Servlet之上的,就是JSP了,得益于它的可擴展的模板機制,JSP在抽象層次上比Servlet更上了一層樓;再往上,我們來到了Sturts,作為一個框架標準,Struts提供了非常豐富的服務,例如類型轉(zhuǎn)換、導航、表單處理以及布局管理等;Struts是Model 2的,但同時也帶著Model 1的某些特征,而抽象層次更高的JSF,則完全是Model 2的了,與Struts相比,JSF包含Struts的所有Model 2特性,更引入了Struts所不具備的用戶界面組件、事件模式以及前臺界面和后臺業(yè)務邏輯的集成等。因此,JSF是比Struts抽象度更高的技術(shù)。

上面只是從總體上比較了JSF和JSP以及Struts技術(shù),為了使這種比較更具體,同時讓讀者對JSF技術(shù)有一個大致的了解,本系列的后續(xù)文章中,我們將選擇一些具有代表性的JSF技術(shù)點,來展開討論,這些技術(shù)點包括:
◆JSF的用戶界面組件模型
◆JSF的managed bean機制
◆JSF的事件驅(qū)動模式
◆JSF的導航方法
◆JSF的統(tǒng)一表達式語言
◆JSF的類型轉(zhuǎn)換器
◆JSF的數(shù)據(jù)驗證
◆JSF的數(shù)據(jù)表組件
◆JSF的選擇組件
◆JSF的國際化特征

需要說明的是,這些不是JSF的全部技術(shù)點,之所以選擇這些技術(shù)點進行介紹,是因為這些技術(shù)與JSF“簡化Web開發(fā)”的目標有著最直接的聯(lián)系。基于JSF的這些技術(shù),在工具的支持下,程序員編寫Web應用,將會是一個令人輕松愉快的工作。

【編輯推薦】

  1. JSF與Spring的集成
  2. 學習JSF的生命周期
  3. 在JBOSS服務器上使用Myfaces的JSF實現(xiàn)
  4. 選擇JSF的理由:從UI組件開始
  5. JSF中f:loadBundle標簽的使用方法
責任編輯:佚名 來源: CSDN
相關(guān)推薦

2012-04-13 10:52:12

JavaMyFaces

2009-07-07 16:05:15

Servlet和Jav

2009-09-23 17:56:45

JSF入門

2009-06-25 11:11:25

控制JSF切入點

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-26 14:06:08

JSF基礎(chǔ)框架

2009-06-29 13:06:25

JSF程序

2009-06-22 15:52:15

JSF測試框架

2009-06-23 15:51:00

JSF框架

2009-06-26 10:22:58

JSF測試

2009-06-22 13:27:01

JSF組件模型

2009-06-22 13:48:45

JSF是什么

2009-06-22 14:22:41

JSF和Tapestr

2009-06-23 17:38:57

ExternalConJSF

2009-06-24 13:06:41

JSF組件Facelets

2009-06-29 09:00:14

JSFJava

2009-06-24 11:39:45

學習JSF

2009-06-23 09:53:10

JSF程序配置

2009-06-23 13:01:04

JSF應用

2009-06-26 10:54:24

JSF技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號