簡述JSF入門介紹
一.JSF入門介紹
JSF即JavaServer Faces,是一種新的用于構(gòu)架j2ee應(yīng)用用戶界面的技術(shù),適合于基于MVC架構(gòu)的應(yīng)用中。
JSF入門技術(shù)的主要功能有:
◆Managed Bean 工具
◆驗(yàn)證工具
◆豐富且可擴(kuò)展的組件庫
◆插入式呈現(xiàn)工具包
◆對具體用戶事件響應(yīng)的導(dǎo)航
◆跨請求保留應(yīng)用程序狀態(tài)
◆轉(zhuǎn)換模型
本文將通過cnjsf這個(gè)應(yīng)用程序?qū)σ陨瞎δ苓M(jìn)行展開描述,要理解本文,您需要對 Web開發(fā)、servlet, JSP, JavaBeans, 與標(biāo)簽庫有一定的理解。
二.JSF入門工作原理
JSF應(yīng)用程序?qū)嵸|(zhì)上是一個(gè)運(yùn)行在一個(gè)與 Java(TM) 2 Platform, Enterprise Edition (J2EE(TM) platform) 兼容的容器中的 Servlet 或者 Java Server Pages(JSP) 應(yīng)用程序。但是,JSF 不要求在應(yīng)用程序中使用 JSP 頁面,您可以自由選擇直接使用 Servlets 或者其他模板技術(shù)。如果確實(shí)對 JSP 容器使用了 JSF,您將通過 JSF 的客戶組件標(biāo)簽從內(nèi)建的 JSF 內(nèi)核和 HTML 組件庫中受益。JSF 組件代表像文本字段、表單、按鈕、表格、復(fù)選框等的 Web 控件。
使用 JSF 創(chuàng)建一個(gè) JSP 頁面時(shí)在服務(wù)器的內(nèi)存中會建立一個(gè)組件樹,每一個(gè)組件標(biāo)簽對應(yīng)樹中的一個(gè) UIComponent 實(shí)例該框架使用組件樹來處理應(yīng)用程序的請求并且創(chuàng)建一個(gè)呈現(xiàn)出的響應(yīng)。當(dāng)用戶生成一個(gè)事件時(shí),例如,點(diǎn)擊了一個(gè)按鈕,JSF 生命周期即處理該事件并且產(chǎn)生適當(dāng)?shù)捻憫?yīng)。這是一個(gè)對大多數(shù)GUI編程的表單而言常見的一種的范例。每當(dāng)用戶做任何事情,如點(diǎn)擊按鈕或者提交表單,都有事件產(chǎn)生。然后事件消息通過 HTTP 傳到服務(wù)器。在服務(wù)器端,是一個(gè)配置了叫做 Faces servlet 的特殊 servlet 的 WEB 容器。Faces servlet(javax.faces.webapp.FacesServlet)是所有 JSF 應(yīng)用的引擎。每個(gè) JSF 應(yīng)用在 WEB 容器中都有獨(dú)立的 Faces servlet 。
FacesServlet 是進(jìn)入 JSF 框架的入口點(diǎn)。它處理請求處理生命周期并且用作一個(gè)前端控制器。JSF 也有保存重要請求信息的上下文的概念。上下文對象被稱為 FacesContext(javax.faces.context.FacesContext)。在 JSF 生命周期的每個(gè)階段上下文對象都被修改并且每次請求時(shí)都是有效的。
Faces servlet 的后臺處理是相當(dāng)復(fù)雜的。然而你沒有必要了解這些細(xì)節(jié),只需要記住:Faces servlet 為 JSP 頁面創(chuàng)建了組件樹,對組件樹的控制又對應(yīng)著事件。Faces servlet 知道怎么去創(chuàng)建組件樹,因?yàn)樗呀?jīng)訪問了當(dāng)前應(yīng)用中所有的 JSP 頁面。Faces servlet 還會創(chuàng)建一個(gè) Event 對象,并把它傳遞給所有注冊過的偵聽器。你可以通過與當(dāng)前請求相對應(yīng)的 FacesContext 得到這個(gè)頁面的組件樹。
【編輯推薦】

















