JSP和JSF雙劍合并 打造完美Web應(yīng)用_JSP教程
推薦:jsp頁(yè)面顯示數(shù)據(jù)導(dǎo)出到excel表中Excel報(bào)表的方法,一個(gè)過(guò)於簡(jiǎn)單,一個(gè)只能用於window平臺(tái)(因?yàn)槭褂胘dbc-odbc bridge),且無(wú)法使用到Excel內(nèi)部的各種公式或是方法,因此,今天介紹一個(gè)apache出的元件叫POI,它可以在UNIX或wi
Java在最近幾年逐漸升溫,隨著Java SE 5和Java SE 6的推出,Java的未來(lái)更顯得無(wú)比輝煌。但以Java為基礎(chǔ)的JSP在Java SE 5推出之前卻一直抬不起頭來(lái),這最重要的原因就是JSP雖然功能十分強(qiáng)大,但最大的優(yōu)點(diǎn)也是它的最大缺點(diǎn),功能強(qiáng)大就意味著復(fù)雜,尤其是設(shè)計(jì)前端界面的可視化工具不多,也不夠強(qiáng)大。因此,設(shè)計(jì)JSP頁(yè)面就變得十分復(fù)雜和繁瑣。不過(guò),在Java SE 5推出的同時(shí),Sun為了簡(jiǎn)化JSP的開(kāi)發(fā)難度,推出了新的JavaServer Faces(簡(jiǎn)稱JSF)規(guī)范。從而使JSP走上了康莊大道。
一、什么是JSF
JSF和JSP是一對(duì)新的搭檔。JSP是用于后臺(tái)的邏輯處理的技術(shù),而JSF恰恰相反,是使開(kāi)發(fā)人員能夠快速的開(kāi)發(fā)基于 Java 的 Web 應(yīng)用程序的技術(shù),是一種表現(xiàn)層技術(shù)。目前,JSF1.2已經(jīng)正式作為一個(gè)標(biāo)準(zhǔn)加入了Java EE 5中。
作為一種高度組件化的技術(shù),開(kāi)發(fā)人員可以在一些開(kāi)發(fā)工具的支持下,實(shí)現(xiàn)拖拉式編輯操作,用戶只需要簡(jiǎn)單的將 JSF 組件拖到頁(yè)面上,就可以很容易的進(jìn)行 Web 開(kāi)發(fā)了。這是其作為一種組件化的技術(shù)所具有的最大好處,我們能用的組件不光是一些比較簡(jiǎn)單的輸入框之類,還有更多復(fù)雜的組件可以使用的,比如 DataTable 這樣的表格組件, Tree 這樣的樹形組件等等。
作為一種標(biāo)準(zhǔn)的技術(shù),JSF還得到了相當(dāng)多工具提供商的支持。同時(shí)我們也會(huì)有很多很好的免費(fèi)開(kāi)發(fā)工具可以使用,前不久 Sun Java Studio Creator 2 和 Oracle JDeveloper 10g 作為免費(fèi)的支持 JSF 的開(kāi)發(fā)工具發(fā)布,給 JSF 帶來(lái)了不小的生氣。另外我們也有一些很優(yōu)秀的商業(yè)開(kāi)發(fā)工具可共選擇,BEA Workshop (原 M7 NitroX),Exadel,MyEclipse 這樣的基于 Eclipse 的插件開(kāi)發(fā)工具,為現(xiàn)在廣大的 Eclipse 用戶帶來(lái)了不小的便利,IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不錯(cuò)的支持 JSF 可視化開(kāi)發(fā)的商業(yè)開(kāi)發(fā)工具。
JSF和傳統(tǒng)的Web技術(shù)有著本質(zhì)上的差別,在傳統(tǒng)的Web技術(shù)需要用戶自己對(duì)瀏覽器請(qǐng)求進(jìn)行捕捉,保存客戶端狀態(tài),并且手工控制著頁(yè)面的轉(zhuǎn)向,等等。而JSF的出現(xiàn),無(wú)疑給我們帶來(lái)了巨大的便利,JSF 提供了事件驅(qū)動(dòng)的頁(yè)面導(dǎo)航模型,該模型使應(yīng)用程序開(kāi)發(fā)人員能夠設(shè)計(jì)應(yīng)用程序的頁(yè)面流。與 Struts 的方式向類似的是,所有的頁(yè)面流信息都定義在 JSF 配置 XML 文件 (faces-config.xml) 中,而非硬編碼在應(yīng)用程序中。這很大程度簡(jiǎn)化了開(kāi)發(fā)人員開(kāi)發(fā)難度,簡(jiǎn)化了應(yīng)用程序的開(kāi)發(fā)。
同時(shí)JSF也是一種遵循模型-視圖-控制器 (MVC) 模式的框架。實(shí)現(xiàn)了視圖代碼(View)與應(yīng)用邏輯(Model)的完全分離,使得使用 JSF 技術(shù)的應(yīng)用程序能夠很好的實(shí)現(xiàn)頁(yè)面與代碼的分離。所有對(duì) JSF 頁(yè)面的請(qǐng)求都會(huì)通過(guò)一個(gè)前端控制器 (FacesServlet) 處理,系統(tǒng)自動(dòng)處理用戶的請(qǐng)求,并將結(jié)果返回給用戶。這和傳統(tǒng)的 MVC 框架并沒(méi)有太大的區(qū)別。
在JSF中不僅使用了 POJO 技術(shù),而且還使用了類似 Spring 的控制反轉(zhuǎn)(IoC) (或稱為依賴注入-DI) 技術(shù),在 JSF 的 Backing Bean 中,我們可以把視圖所需要的數(shù)據(jù)和操作放進(jìn)一個(gè) Backing Bean 中。同時(shí)得益于 JSF 使用的 DI 技術(shù),我們可以在配置文件中初始化 Managed Bean,同時(shí)我們也可以通過(guò)這樣的技術(shù)很方便的和使用類似技術(shù)的 Spring 進(jìn)行整合。
分享:JSP數(shù)據(jù)導(dǎo)出到EXCEL簡(jiǎn)便方法試試看從網(wǎng)頁(yè)中把表格直接生成Excel,雖然不是直接從sql到excel,不過(guò)反而更加方便而且人性化。。 網(wǎng)上倒是找到了不少的資料,發(fā)現(xiàn)一段javascript的功能實(shí)現(xiàn)代碼,很不錯(cuò):var elTabl
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁(yè)模板:關(guān)于jsp頁(yè)面使用jstl的異常分析
- JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
- 網(wǎng)站圖片路徑的問(wèn)題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁(yè)上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
猜你也喜歡看這些
- JSP表單輸入實(shí)例代碼
- 高手為你解讀J2EE開(kāi)發(fā)過(guò)程中的異常處理
- JSP教程之整合hibernate持久層1
- Apache FileUpload的兩種上傳方式介紹及應(yīng)用
- jsp傳值本地?zé)o亂碼測(cè)試機(jī)出現(xiàn)亂碼問(wèn)題解決
- 詳細(xì)講解Linux系統(tǒng)下JDK、Tomcat的安裝
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
- Windows下JSP開(kāi)發(fā)環(huán)境的配置
- JSP轉(zhuǎn)發(fā)和重定向的區(qū)別分析
- 相關(guān)鏈接:
- 教程說(shuō)明:
JSP教程-JSP和JSF雙劍合并 打造完美Web應(yīng)用
。