(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 用戶界面的難度,提高了開發效率。