程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP和JSF雙劍合並 打造完美Web應用

JSP和JSF雙劍合並 打造完美Web應用

編輯:關於JSP

  Java在最近幾年逐漸升溫,隨著Java SE 5和Java SE 6的推出,Java的未來更顯得無比輝煌。但以Java為基礎的jsp(SUN企業級應用的首選)在Java SE 5推出之前卻一直抬不起頭來,這最重要的原因就是jsp(SUN企業級應用的首選)雖然功能十分強大,但最大的優點也是它的最大缺點,功能強大就意味著復雜,尤其是設計前端界面的可視化工具不多,也不夠強大。因此,設計jsp(SUN企業級應用的首選)頁面就變得十分復雜和繁瑣。不過,在Java SE 5推出的同時,Sun為了簡化jsp(SUN企業級應用的首選)的開發難度,推出了新的JavaServer Faces(簡稱JSF)規范。從而使jsp(SUN企業級應用的首選)走上了康莊大道。

  一、什麼是JSF

  JSF和jsp(SUN企業級應用的首選)是一對新的搭檔。jsp(SUN企業級應用的首選)是用於後台的邏輯處理的技術,而JSF恰恰相反,是使開發人員能夠快速的開發基於 Java 的 Web 應用程序的技術,是一種表現層技術。目前,JSF1.2已經正式作為一個標准加入了Java EE 5中。

  作為一種高度組件化的技術,開發人員可以在一些開發工具的支持下,實現拖拉式編輯操作,用戶只需要簡單的將 JSF 組件拖到頁面上,就可以很容易的進行 Web 開發了。這是其作為一種組件化的技術所具有的最大好處,我們能用的組件不光是一些比較簡單的輸入框之類,還有更多復雜的組件可以使用的,比如 DataTable 這樣的表格組件, Tree 這樣的樹形組件等等。

  作為一種標准的技術,JSF還得到了相當多工具提供商的支持。同時我們也會有很多很好的免費開發工具可以使用,前不久 Sun Java Studio Creator 2 和 Oracle(大型網站數據庫平台) JDeveloper 10g 作為免費的支持 JSF 的開發工具發布,給 JSF 帶來了不小的生氣。另外我們也有一些很優秀的商業開發工具可共選擇,BEA Workshop (原 M7 NitroX),Exadel,MyEclipse 這樣的基於 Eclipse 的插件開發工具,為現在廣大的 Eclipse 用戶帶來了不小的便利,IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不錯的支持 JSF 可視化開發的商業開發工具。

  JSF和傳統的Web技術有著本質上的差別,在傳統的Web技術需要用戶自己對浏覽器請求進行捕捉,保存客戶端狀態,並且手工控制著頁面的轉向,等等。而JSF的出現,無疑給我們帶來了巨大的便利,JSF 提供了事件驅動的頁面導航模型,該模型使應用程序開發人員能夠設計應用程序的頁面流。與 Struts 的方式向類似的是,所有的頁面流信息都定義在 JSF 配置 xml(標准化越來越近了) 文件 (faces-config.xml(標准化越來越近了)) 中,而非硬編碼在應用程序中。這很大程度簡化了開發人員開發難度,簡化了應用程序的開發。

  同時JSF也是一種遵循模型-視圖-控制器 (MVC) 模式的框架。實現了視圖代碼(View)與應用邏輯(Model)的完全分離,使得使用 JSF 技術的應用程序能夠很好的實現頁面與代碼的分離。所有對 JSF 頁面的請求都會通過一個前端控制器 (FacesServlet) 處理,系統自動處理用戶的請求,並將結果返回給用戶。這和傳統的 MVC 框架並沒有太大的區別。

  在JSF中不僅使用了 POJO 技術,而且還使用了類似 Spring 的控制反轉(IoC) (或稱為依賴注入-DI) 技術,在 JSF 的 Backing Bean 中,我們可以把視圖所需要的數據和操作放進一個 Backing Bean 中。同時得益於 JSF 使用的 DI 技術,我們可以在配置文件中初始化 Managed Bean,同時我們也可以通過這樣的技術很方便的和使用類似技術的 Spring 進行整合。

  二、如何在jsp(SUN企業級應用的首選)中使用JSF

  JSF只有通過和jsp(SUN企業級應用的首選)相結合,才能充分發揮它的功效。JSF是通過標簽庫和jsp(SUN企業級應用的首選)進行集成的。標簽庫就相當於ASP.NET的服務端組件。JSF提供了非常豐富的標簽庫,通過這些標簽庫,可以生成各種客戶端模型,如HTML、WML、xml(標准化越來越近了)以及JavaScript等。通過這些標簽,你可以很容易建立大規模的客戶端模型,並由這些標簽自動處理客戶端請求。

  接下來讓我們來看一個如何使JSF和jsp(SUN企業級應用的首選)在一起工作的例子。在JSF中有兩個庫。第一個叫做內核庫,在這個庫中包含了各種主要的標簽,如配置組件、管理事件、驗證輸入信息等。第二個庫的主要功能是將HTML和JSF的各種標簽相對應。每一個JSF標簽都會對應一個HTML組件。如UIInput標簽對應了HTML中的文本框或密碼框。

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