国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

JSF與WEB的完美組合 高度提升開發(fā)效率

2024-07-21 02:14:27
字體:
供稿:網(wǎng)友

與微軟visual studio.net程序開發(fā)有可視化工具的支持相比,人們在開發(fā)基于java的web用戶界面時仍然需要手工書寫大量的標(biāo)簽,同時還要考慮頁面狀態(tài)信息的保存、客戶端事件處理等問題,開發(fā)難度比較大,效率較低,重用性差。java server faces(jsf)技術(shù)正是為了解決這一問題應(yīng)運而生的,其最引人注目的特性之一是它與標(biāo)記語言、協(xié)議、客戶端設(shè)備無關(guān)。利用jsf提供的可重用、可擴展、基于組件的用戶界面框架,在快速開發(fā)工具rad的支持下實現(xiàn)可視化開發(fā)。現(xiàn)在jsf技術(shù)已經(jīng)得到了許多大廠商的支持,如sun公司的jsf web ui、ibm公司的jsf extension以及oracle的adf faces等,許多開源項目也提供對jsf技術(shù)的支持。同時oracle、sun、borland和ibm等公司都為jsf提供了開發(fā)環(huán)境。

傳統(tǒng)jsp開發(fā)存在的問題

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

jsf技術(shù)介紹

在sun公司提出的j2ee平臺上,java server faces(jsf)是一種用于構(gòu)建web應(yīng)用程序的新標(biāo)準(zhǔn)java框架。它提供了一種以組件為中心來開發(fā)javaweb用戶界面的方法,從而簡化了開發(fā)。“企業(yè)開發(fā)人員”和web設(shè)計人員將發(fā)現(xiàn)jsf開發(fā)可以簡單到只需將用戶界面(ui)組件拖放到頁面上,而“系統(tǒng)開發(fā)人員”將發(fā)現(xiàn)豐富而強健的jsf api為他們提供了無與倫比的功能和編程靈活性。

jsf還通過將良好構(gòu)建的模型—視圖—控制器(mvc)設(shè)計模式集成到它的體系結(jié)構(gòu)中,確保了應(yīng)用程序具有更高的可維護性。

jsf是由java community process(jcp)制定的一個web應(yīng)用框架標(biāo)準(zhǔn)。jsf具有良好定義的請求處理生命周期和豐富的組件層次結(jié)構(gòu),旨在推動基于java的web用戶界面開發(fā)的簡易性。利用jsf提供的可重用、可擴展、基于組件的用戶界面框架,在快速開發(fā)工具rad的支持下,可以通過拖放組件的方式對web用戶界面進行可視化編輯,將用戶界面上的組件與一個數(shù)據(jù)源綁定,并將客戶端用戶界面產(chǎn)生的事件交給服務(wù)器端處理,從而大大降低基于java的web用戶界面的開發(fā)難度,提高開發(fā)效率。

簡而言之,jsf的主要部分是一個gui組件框架和一個用于跨不同標(biāo)記語言或客戶端設(shè)備描述組件的靈活模型。jsf gui組件框架使開發(fā)人員能夠創(chuàng)建jsf應(yīng)用程序的用戶界面。

jsf gui組件包括標(biāo)準(zhǔn)的html表單控件(如按鈕)、布局組件,以及更復(fù)雜的組件,如數(shù)據(jù)表。此外,第三方還可以擴展規(guī)范中定義的基本類,來開發(fā)額外的gui組件。

jsf組件的體系結(jié)構(gòu)是這樣設(shè)計的:組件的功能由組件類定義,組件的呈現(xiàn)由一個單獨的呈現(xiàn)器定義。呈現(xiàn)器定義了組件類如何映射為適合特定客戶的組件標(biāo)簽。

jsf的主要優(yōu)勢之一就是它既是java web用戶界面標(biāo)準(zhǔn)又是嚴(yán)格遵循模型-視圖-控制器(mvc)設(shè)計模式的框架。用戶界面代碼(視圖)與應(yīng)用程序數(shù)據(jù)和邏輯(模型)的清晰分離使jsf應(yīng)用程序更易于管理。為了準(zhǔn)備提供頁面對應(yīng)用程序數(shù)據(jù)訪問的jsf上下文和防止對頁面未授權(quán)或不正確的訪問,所有與應(yīng)用程序的用戶交互均由一個前端控制器來處理。jsf技術(shù)做到了應(yīng)用程序邏輯和表示的完全分離,是真正徹底的mvc模式。

jsf技術(shù)現(xiàn)在的版本是1.1,下一個版本將是1.2,它將和j2ee 5.0一起發(fā)布。

開發(fā)基于jsf的web應(yīng)用程序步驟

jsf是構(gòu)建web應(yīng)用程序的新標(biāo)準(zhǔn)java框架,可以依據(jù)jsf的框架標(biāo)準(zhǔn)手工書寫web應(yīng)用程序,以文本方式像寫html或jsp程序一樣實現(xiàn)web用戶界面的設(shè)計;同時在開發(fā)、運行以及調(diào)試前還需要搭建系統(tǒng)運行平臺。這樣做的缺點是不能充分體現(xiàn)可視化開發(fā)的便捷和高效,一般是在分析web應(yīng)用程序的結(jié)構(gòu)時使用。

使用快速開發(fā)工具rad,是實現(xiàn)jsf可視化開發(fā)的先決條件。在快速開發(fā)工具的支持下,符合jsf標(biāo)準(zhǔn)的web應(yīng)用程序開發(fā)、運行以及調(diào)試均在ide環(huán)境中實現(xiàn),大大提高了開發(fā)的效率,整個程序開發(fā)過程快捷高效。現(xiàn)在獲得大廠支持的rad工具很多,比如ibm公司的websphere studio,oracle公司的jdeveloper,和sun公司的java studio creator等都提供對jsf開發(fā)的支持。

如果不使用ide開發(fā)環(huán)境,那么在開發(fā)應(yīng)用程序前,必須先搭建系統(tǒng)運行平臺。比如安裝tomcat和sun的javaweb services developer pack (jwsdp) 1.2。使用jsf時需要jstl與jsf的標(biāo)簽函數(shù)庫,在web應(yīng)用程序的web-inf/lib目錄下放入所需的jar文件。如果使用ide開發(fā)環(huán)境,開發(fā)前期的準(zhǔn)備工作比較簡單,只需安裝好ide環(huán)境即可,不需要其他的配置,一般ide中都有內(nèi)嵌的應(yīng)用服務(wù)器,足以支持程序的開發(fā)、運行和調(diào)試。不管是否使用ide開發(fā)環(huán)境,jsf開發(fā)web應(yīng)用程序通常分為以下三個步驟:

視圖設(shè)計

方便、快捷地開發(fā)基于jsf的web應(yīng)用程序,是在jsf提供了一組豐富的、可重用的服務(wù)器端用戶界面組件的條件下實現(xiàn)的。在開發(fā)工具的支持下,用戶可以很容易地在可視化環(huán)境中利用這些組件構(gòu)建web用戶界面,處理組件的數(shù)據(jù)校驗、事件處理等用戶界面管理問題。

設(shè)計每個需要的jsp頁面,在頁面中放置jsf的內(nèi)置組件,并將組件與應(yīng)用層的javabean綁定。利用rad工具能通過拖放組件的方式輕松實現(xiàn)頁面文件,不需要手寫大量代碼。開發(fā)工具自動生成頁面對應(yīng)的java文件,在文件中定義好了頁面的jsf組件及其getter、setter方法以及jsf組件的“action”屬性對應(yīng)的方法等。程序員可以方便地在已有程序的基礎(chǔ)上修改、調(diào)試。

模型設(shè)計

jsf技術(shù)做到了應(yīng)用程序邏輯和表示的完全分離。在模型設(shè)計部分,程序員只需要考慮程序的邏輯功能,不需要考慮數(shù)據(jù)的表現(xiàn)形式。jsf的模型是通過javabean程序來實現(xiàn)的。

控制器設(shè)計

jsf的控制器設(shè)計是在配置文件中完成的,相關(guān)的主要有兩個文件:web.xml文件和faces-config.xml文件(均在web-inf目錄下)。web.xml文件主要用于控制jsf的生命周期,實現(xiàn)部署描述符。faces-config.xml文件實現(xiàn)導(dǎo)航,在文件中控制頁面之間的跳轉(zhuǎn)流程。

配置步驟是首先配置web應(yīng)用程序的web.xml文件,然后是配置jsf的控制文件faces-config.xml文件。這兩個文件格式固定,在ide環(huán)境中這個過程由工具自動完成,不需要設(shè)計人員的干預(yù),即使手工配置也比較簡單。

jsf的技術(shù)重點在view部分,它實現(xiàn)了web應(yīng)用程序設(shè)計角色的完全分離。jsf網(wǎng)頁設(shè)計者只需要專注于頁面的設(shè)計;應(yīng)用程序開發(fā)者主要關(guān)心model部分的javabean的開發(fā);程序的流程控制則由faces-config.xml專門配置。

jsf是基于java的web應(yīng)用開發(fā)領(lǐng)域里提供了一個可重用、可擴展、基于組件、工具友好的服務(wù)器端ui框架。在支持jsf的rad開發(fā)工具中,人們可以像使用visualstudio.net一樣方便快捷地構(gòu)建web用戶界面,大大降低了利用java技術(shù)實現(xiàn)web用戶界面的難度,提高了開發(fā)效率。

jsf具有強大的組件體系和事件處理系統(tǒng),完全實現(xiàn)了mvc模式的應(yīng)用架構(gòu),使得基于java的web用戶界面程序開發(fā)難度大大降低,提高了開發(fā)效率,非常適用于web頁面的開發(fā)。

jsf是一個開放的標(biāo)準(zhǔn),具有很好的可擴展性。依照jsf的規(guī)范,用戶完全可以根據(jù)需求定制自己的用戶界面組件、事件處理器、數(shù)據(jù)校驗和轉(zhuǎn)換組件等,這些組件和標(biāo)準(zhǔn)的jsf組件一樣是可重用的。jsf api是直接架構(gòu)在servlet api之上的,因此jsf用戶界面組件的呈現(xiàn)并不局限于特定的腳本技術(shù)或標(biāo)記語言。表示層完全可以采用jsp之外的技術(shù)。在眾多的j2ee表現(xiàn)層框架技術(shù)中,jsf表現(xiàn)出其旺盛的生命力。盡管jsf技術(shù)還有不少問題,但隨著jsf技術(shù)的不斷成熟和版本更新,其必將獲得越來越多的應(yīng)用。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻城市| 西藏| 长子县| 台湾省| 新密市| 双桥区| 项城市| 师宗县| 衢州市| 清丰县| 宁海县| 宿迁市| 卓资县| 宽甸| 盐亭县| 新乡县| 手游| 界首市| 冀州市| 莱阳市| 紫阳县| 沁水县| 嘉善县| 新安县| 厦门市| 望谟县| 秦皇岛市| 新巴尔虎右旗| 合阳县| 华池县| 武隆县| 青阳县| 榆中县| 杭州市| 云阳县| 勐海县| 扎鲁特旗| 沂源县| 甘南县| 郓城县| 潜江市|