程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> JSF的技術與組件

JSF的技術與組件

編輯:J2EE

JSF是由Java Community Process (JCP)制定的一個Web應用框架標准。JSF具有良好定義的請求處理生命周期和豐富的組件層次結構,旨在推動基於Java的Web用戶界面開發的簡易性。利用JSF提供的可重用、可擴展、基於組件的用戶界面框架,在快速開發工具RAD的支持下,可以通過拖放組件的方式對Web用戶界面進行可視化編輯,將用戶界面上的組件與一個數據源綁定,並將客戶端用戶界面產生的事件交給服務器端處理,從而大大降低基於Java的Web用戶界面的開發難度,提高開發效率。

JSF的主要優勢之一就是它既是Java Web用戶界面標准又是嚴格遵循模型-視圖-控制器 (MVC) 設計模式的框架。用戶界面代碼(視圖)與應用程序數據和邏輯(模型)的清晰分離使JSF應用程序更易於管理。為了准備提供頁面對應用程序數據訪問的JSF 上下文和防止對頁面未授權或不正確的訪問,所有與應用程序的用戶交互均由一個前端“Faces”servlet(控制器)來處理。 JSF技術做到了應用程序邏輯和表示的完全分離,是真正徹底的MVC模式。

JSF是構建Web應用程序的新標准Java框架,可以依據JSF的框架標准手工書寫Web應用程序,以文本方式像寫Html或JSP程序一樣實現Web用戶界面的設計;同時在開發、運行以及調試前還需要搭建系統運行平台。

這樣做的缺點是不能充分體現可視化開發的便捷和高效,一般是在分析Web應用程序的結構時使用。

(1)視圖設計

方便、快捷地開發基於JSF的Web應用程序,是在JSF提供了一組豐富的、可重用的服務器端用戶界面組件的條件下實現的。在開發工具的支持下,用戶可以很容易地在可視化環境中利用這些組件構建Web用戶界面,處理組件的數據校驗、事件處理等用戶界面管理問題。

設計每個需要的JSP頁面,在頁面中放置JSF的內置組件,並將組件與應用層的JavaBean綁定。利用RAD工具能通過拖放組件的方式輕松實現頁面文件,不需要手寫大量代碼。開發工具自動生成頁面對應的Java文件,在文件中定義好了頁面的JSF組件及其getter、setter方法以及JSF組件的“action”屬性對應的方法等。程序員可以方便地在已有程序的基礎上修改、調試。

(2)模型設計

JSF技術做到了應用程序邏輯和表示的完全分離。在模型設計部分,程序員只需要考慮程序的邏輯功能,不需要考慮數據的表現形式。JSF模型是通過JavaBean程序來實現的。

JSF模型是根據頁面中組件需要處理的業務邏輯而設計實現的。在JSF中使用JavaBean可以直接在JSF頁面中聲明或者在配置文件faces-config. XML中聲明。

如果手工部署應用,則編譯完成的JavaBean文件應放到Web應用程序的WEB- INF\classes目錄下(TOMCAT環境下);如果借助於RAD開發工具,設計人員就不需要考慮部署的細節,開發工具會自動把實現了業務邏輯的 JavaBean文件(未編譯的Java文件和編譯成功後的jar包)成功地部署在相關位置。

(3)控制器設計

JSF的控制器設計是在配置文件中完成的,相關的主要有兩個文件:web.xml文件和faces- config.xml文件(均在WEB-INF目錄下)。web.xml文件主要用於控制JSF的生命周期,實現部署描述符。faces- config.XML文件實現導航,在文件中控制頁面之間的跳轉流程。

配置步驟是首先配置Web應用程序的web.xml文件,然後是配置JSF的控制文件faces-config.XML文件。這兩個文件格式固定,在IDE環境中這個過程由工具自動完成,不需要設計人員的干預,即使手工配置也比較簡單。

JSF技術重點在VIEw部分,它實現了Web應用程序設計角色的完全分離。JSF網頁設計者只需要專注於頁面的設計;應用程序開發者主要關心Model部分的JavaBean的開發;程序的流程控制則由faces-config.XML專門配置。

總結

JSF是基於Java 的Web 應用開發領域裡提供了一個可重用、可擴展、基於組件、工具友好的服務器端UI 框架。在支持JSF 的RAD開發工具中,人們可以像使用Visual Studio. NET一樣方便快捷地構建Web 用戶界面,大大降低了利用Java技術實現Web 用戶界面的難度,提高了開發效率。

JSF具有強大的組件體系和事件處理系統,完全實現了MVC模式的應用架構,使得基於Java的Web用戶界面程序開發難度大大降低,提高了開發效率,非常適用於Web頁面的開發。

JSF是一個開放的標准,具有很好的可擴展性。依照JSF 的規范,用戶完全可以根據需求定制自己的用戶界面組件、事件處理器、數據校驗和轉換組件等,這些組件和標准的JSF組件一樣是可重用的。JSF API 是直接架構在Servlet API 之上的,因此JSF 用戶界面組件的呈現並不局限於特定的腳本技術或標記語言。表示層完全可以采用JSP 之外的技術。

在眾多的J2EE表現層框架技術中,JSF表現出其旺盛的生命力。盡管JSF技術還有不少問題,但隨著JSF技術的不斷成熟和版本更新,其必將獲得越來越多的應用。

JSF框架搭建(MyEclipse)(實現用戶登錄)

1.新建一個web project,選擇Java EE 5.0選項,輸入項目名稱:JSFLoginDemo(例),點擊完成。

2.菜單中選擇MyEclipse,Project CapabilitIEs--->Add JSF CapabilitIEs,點擊完成。

3.src下新建一個資源文件,命名Messages.propertIEs(用處:做顯示的國際化),寫入
login_label=Please Login:
login_label=User name:

4.src下建個包,包名為com.JSfdemo

5.添加受管Bean(New Managed Bean),命名UserBean,Class:com.JSfdemo.UserBean,Scope:session,添加 userName,Property Kind:Simple,Class:java.lang.String,完成。再添加passWord,Property Kind:Simple,Class:Java.lang.String,完成。下面兩項打鉤----->Next---->finish, 檢查配置信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved