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

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:16:58
字體:
供稿:網(wǎng)友


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

  一、什么是JSF

  JSF和JSP是一對新的搭檔。JSP是用于后臺的邏輯處理的技術(shù),而JSF恰恰相反,是使開發(fā)人員能夠快速的開發(fā)基于 Java 的 Web 應用程序的技術(shù),是一種表現(xiàn)層技術(shù)。目前,JSF1.2已經(jīng)正式作為一個標準加入了Java EE 5中。

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

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴楚县| 石门县| 安阳县| 偃师市| 沙雅县| 屯昌县| 望江县| 黔东| 比如县| 道孚县| 临城县| 喀什市| 田东县| 大埔区| 清涧县| 英德市| 长葛市| 吉水县| 巨鹿县| 东至县| 枞阳县| 德清县| 格尔木市| 仙居县| 辽阳县| 曲麻莱县| 井冈山市| 祁连县| 鹿泉市| 英德市| 随州市| 郴州市| 孝义市| 洪洞县| 渑池县| 上思县| 乐山市| 尚义县| 军事| 德令哈市| 仙游县|