成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSF技術詳細介紹

開發 后端
本文描述JSF技術介紹,Java Server Faces技術包括兩個主要部分。

與微軟Visual Studio.NET程序開發有可視化工具的支持相比,人們在開發基于Java的Web用戶界面時仍然需要手工書寫大量的標簽,同時還要考慮頁面狀態信息的保存、客戶端事件處理等問題,開發難度比較大,效率較低,重用性差。

Java Server Faces (JSF) 技術正是為了解決這一問題應運而生的,其最引人注目的特性之一是它與標記語言、協議、客戶端設備無關。利用JSF提供的可重用、可擴展、基于組件的用戶界面框架,在快速開發工具RAD的支持下實現可視化開發。現在JSF技術已經得到了許多大廠商的支持,如SUN公司的JSF Web UI、IBM公司的JSF extension以及Oracle的 ADF Faces等,許多開源項目(典型的Apache Myfaces)也提供對JSF技術的支持。同時Oracle、Sun、Borland和IBM等公司都為JSF提供了開發環境。

傳統JSP開發存在的問題

實現表示層和業務層的分離,這是J2EE Web應用一直以來的理想,可惜JSP 并沒有真正實現這個目標。JSP是一個基于Java的Web用戶界面開發標準技術,是一種“腳本式”開發的Web技術,在JSP 頁面中混淆了大量用于顯示邏輯的HTML 和用于業務邏輯的Java 代碼,使得頁面設計與程序開發無法分離;JSP另一個更大的缺陷是腳本不能重用,這常常導致開發者不得不在JSP頁面之間進行復制-粘貼操作,進而導致同一段代碼出現多個版本,從而使得程序的調試和設計極其錯綜復雜。而標簽庫TagLib作為JSP的補充,將Java代碼從JSP中剝離,也只是有限地實現了表現與邏輯的分離,始終沒有擺脫代碼和HTML頁面揉和的問題。此外,JSP還存在著其他固有的缺陷,例如對應Servlet編譯的出錯信息很難在 JSP 中找到準確的出錯位置,由此給調試帶來很大困難。

JSF技術介紹

在 Sun公司提出的J2EE(Java 2 Enterprise Edition)平臺上,Java Server Faces (JSF) 是一種用于構建Web應用程序的新標準Java框架。它提供了一種以組件為中心來開發Java Web用戶界面的方法,從而簡化了開發。“企業開發人員”和Web設計人員將發現JSF開發可以簡單到只需將用戶界面 (UI) 組件拖放到頁面上,而“系統開發人員”將發現豐富而強健的JSF API為他們提供了無與倫比的功能和編程靈活性。JSF還通過將良好構建的模型-視圖-控制器 (MVC)設計模式集成到它的體系結構中,確保了應用程序具有更高的可維護性。

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

Java Server Faces技術包括兩個主要部分:

(1) 一組用于表示用戶界面組件并管理其狀態、處理事件和驗證輸入的JavaAPI,這些API支持國際化和可訪問性(accessibility);

(2) 一個用于在JSP頁面中表示JSF 組件的自定義標簽庫。

簡而言之,JSF的主要部分是一個GUI組件框架和一個用于跨不同標記語言或客戶端設備描述組件的靈活模型。JSF GUI組件框架使開發人員能夠創建JSF應用程序的用戶界面。JSF GUI組件包括標準的HTML表單控件(如按鈕)、布局組件,以及更復雜的組件,如數據表。此外,第三方還可以擴展規范中定義的基本類,來開發額外的 GUI組件。

JSF 組件的體系結構是這樣設計的:組件的功能由組件類定義,組件的呈現由一個單獨的呈現器(renderer)定義。呈現器定義了組件類如何映射為適合特定客戶的組件標簽。JSF 參考實現中包含了一個標準的RenderKit,用于生成基于HTML 4.01的標記,實現將組件類呈現給HTML客戶。

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

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

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

使用快速開發工具RAD,是實現JSF可視化開發的先決條件。在快速開發工具的支持下,符合JSF標準的Web應用程序開發、運行以及調試均在IDE環境中實現,大大提高了開發的效率,整個程序開發過程快捷高效。現在獲得大廠支持的RAD工具很多,比如IBM公司的WebSphere Studio,Oracle公司的JDeveloper,和Sun公司的Java Studio Creator等都提供對JSF開發的支持。

如果不使用IDE開發環境,那么在開發應用程序前,必須先搭建系統運行平臺。比如安裝TOMCAT和Sun的Java Web Services Developer Pack (JWSDP) 1. 2。使用JSF時需要JSTL 與JSF的標簽函數庫,在Web應用程序的WEB-INF\lib目錄下放入所需的JAR文件。如果使用IDE開發環境,開發前期的準備工作比較簡單,只需安裝好IDE環境即可,不需要其他的配置,一般IDE中都有內嵌的應用服務器,足以支持程序的開發、運行和調試。

不管是否使用IDE開發環境,JSF開發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技術的不斷成熟和版本更新,其必將獲得越來越多的應用。

【編輯推薦】

  1. JSF理解組件和客戶端標識符
  2. 過渡技術的Ajax及Apusic JSF
  3. ESRI為什么選擇JSF
  4. 淺析對JSF項目的單元測試
  5. 構建Ajax JSF事件驅動
責任編輯:佚名 來源: cnblogs
相關推薦

2009-06-24 13:50:29

JSF和MVC

2011-06-30 10:20:38

JSFMVC

2011-07-08 17:26:38

JSFStruts

2009-06-26 11:24:15

Seam Remoti

2009-06-22 14:13:08

JSF入門

2009-06-23 13:01:04

JSF應用

2009-06-23 13:55:17

JSF標簽

2009-06-26 10:54:24

JSF技術

2009-06-24 17:43:24

Struts和JSF

2011-07-22 13:00:46

java

2011-07-21 17:11:09

AjaxJSF

2009-06-24 10:47:55

JSF生命周期

2009-06-29 13:22:19

JSF技術JSF組件

2010-03-16 14:46:37

2009-06-22 16:24:33

JSF框架中使用的設計

2009-06-26 13:20:50

JSF和Ajax

2009-06-26 17:36:10

FaceletsJSF

2009-12-31 09:54:04

ADO.NET數據訪問

2010-03-18 17:39:30

低耗能無線技術

2009-12-23 11:09:57

軟交換技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费在线性爱视频 | 国产一区二区久久 | 亚洲午夜精品在线观看 | 久久久久久久久久久高潮一区二区 | 99re视频在线观看 | 午夜影院在线观看 | 久久成人亚洲 | 成人动慢 | 精品在线一区 | 一级a性色生活片久久毛片 一级特黄a大片 | 亚洲免费大片 | 欧美成人一区二区三区 | avhd101在线成人播放 | 9999精品视频 | 综合国产第二页 | 涩涩视频网站在线观看 | 国产欧美日韩在线一区 | 九色 在线 | 欧美aaaaa| 日本久久一区二区三区 | 伊人春色成人 | 日韩午夜一区二区三区 | 综合五月| 色吧综合网 | 亚洲视频免费 | 羞羞视频免费在线观看 | 精品国产不卡一区二区三区 | 国产最好的av国产大片 | 国产一区二区三区欧美 | 国产一区二区三区四区hd | 操操操操操 | 久久久女女女女999久久 | 国产成人99久久亚洲综合精品 | 久久视频一区 | 久草资源在线视频 | 成人免费视频网站在线观看 | 国产乱一区二区三区视频 | 羞羞视频网站免费观看 | 亚洲在线视频 | 99精品免费 | av色在线 |