`
zhouxing
  • 浏览: 208520 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

簡介 JSF

    博客分类:
  • JSF
阅读更多
Web應用程式的開發與傳統的單機程式開發在本質上存在著太多的差異,Web應用程式開發人員至今不可避免的必須處理HTTP的細節,而HTTP無狀態的(stateless)本質,與傳統應用程式必須維持程式運行過程中的資訊有明顯的違背,再則Web應用程式面對網站上不同的使用者同時的存取,其執行緒安全問題以及資料驗證、轉換處理等問題,又是複雜且難以解決的。

 

另一方面,本質上是靜態的HTML與本質上是動態的應用程式又是一項違背,這造成不可避免的,處理網頁設計的美術人員與程式設計人員,必須被彼此加入至視圖元件中的邏輯互相干擾,即便一些視圖呈現邏輯以標籤的方式呈現,試圖s展現對網頁設計美術人員的親切,但它終究必須牽涉到相關的流程邏輯。

 

有很多方案試著解決種種的困境,而各自的著眼點各不相同,有的從程式設計人員的角度來解決,有的從網頁設計人員的角度來解決,各種的框架被提出,所造成的是各種不統一的標籤與框架,為了促進產能的整合開發環境(IDE)難以整合這些標籤與框架,另一方面,開發人員的學習負擔也不斷的加重,他們必須一人瞭解多個角色的工作。

 

JavaServer Faces [http://java.sun.com/j2ee/javaserverfaces/] 的提出在試圖解決這個問題,它試圖在不同的角度上提供網頁設計人員、應用程式設計人員、元件開發人員解決方案,讓不同技術的人員可以彼此合作又不互相干擾,它綜合了各家廠商現有的技術特點,由Java Community Process(JCP)團隊研擬出來的一套標準,並在2004年三月發表了JavaServer Faces 1.0實作成果。

 

從網頁設計人員的角度來看,JavaServer Faces提供了一套像是新版本的HTML標籤,但它不是靜態的,而是動態的,可以與後端的動態程式結合,但網頁設計人員不需要理會後端的動態部份,網頁設計人員甚至不太需要接觸JSTL這類的標籤,也可以動態的展現資料(像是動態的查詢表格內容),JavaServer Faces提供標準的標籤,這可以與網頁編輯程式結合在一起,另一方面,JavaServer Faces也允許您自訂標籤。

 

從應用程式設計人員的角度來看,JavaServer Faces提供一個與傳統應用程式開發相類似的模型(當然因某些本質上的差異,模型還是稍有不同),他們可以基於事件驅動來開發程式,不必關切HTTP的處理細節,如果必須處理一些視覺元件的屬性的話,他們也可以直接在整合開發環境上拖拉這些元件,點選設定元件的屬性,JavaServer Faces甚至還為應用程式設計人員處理了物件與字串(HTTP傳送本質上就是字串)間不匹配的轉換問題。

 

從UI元件開發人員的角度來看,他們可以設計通用的UI元件,讓應用程式的開發產能提高,就如同在設計Swing元件等,UI開發人員可以獨立開發,只要定義好相關的屬性選項來調整細節,而不用受到網頁設計人員或應用程式設計人員的干擾。

 

三個角色的知識領域原則上可以互不干擾,根據您的角色,您只要瞭解其中一個知識領域,就可以運用JavaServer Faces,其它角色的知識領域您可以不用瞭解太多細節。

 

當然,就其中一個角色單獨來看,JavaServer Faces隱藏了許多細節,若要全盤瞭解,其實JavaServer Faces是複雜的,每一個處理的環境都值得深入探討,所以學習JavaServer Faces時,您要選擇的是通盤瞭解,還是從使用的角度來瞭解,這就決定了您學習時所要花費的心力。

 

要使用JSF,首先您要先取得JavaServer Faces參考實作(JavaServer Faces Reference Implementation),在將來,JSF會與Container整合在一起,屆時您只要下載支援的Container,就可以使用JSF的功能。

 

請至 JSF 官方網站的 下載區 [http://java.sun.com/j2ee/javaserverfaces/download.html] 下載參考實作,在下載壓縮檔並解壓縮之後,將其 lib 目錄下的 jar 檔案複製至您的Web應用程式的/WEB-INF/lib目錄下,另外您還需要 jstl.jar 與 standard.jar 檔案,這些檔案您可以在 sample 目錄下,解壓縮當中的一個範例,在它的/WEB-INF/lib目錄下找到,將之一併複製至您的Web應用程式的/WEB-INF/lib目錄下,您總共需要以下的檔案:
  • jsf-impl.jar
  • jsf-api.jar
  • commons-digester.jar
  • commons-collections.jar
  • commons-beanutils.jar
  • jstl.jar
  • standard.jar

 

接下來配置Web應用程式的web.xml,使用JSF時,所有的請求都透過FacesServlet來處理,您可以如下定義:
  • web.xml
 
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<description>
JSF Demo
</description>
<display-name>JSF Demo</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>
javax.faces.webapp.FacesServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

 

在上面的定義中,我們將所有.faces的請求交由FaceServlet來處理,FaceServlet會喚起相對的.jsp網頁,例如請求是 /index.faces的話,則實際上會喚起/index.jsp網頁,完成以上的配置,您就可以開始使用JSF了。
分享到:
评论

相关推荐

    IMMC2023秋季赛_Contest questions.zip

    IMMC2023ç§å­£èµ_Contest questions.zip å°±æ³å°ä»£è¡¨ç¤ºæ±ä»£è¡£ä»·æ ¡äžäžªçšæ²¡æœ‰ç§å®¶æ¶éŽIMMC2023ç§å­£èµæµ...

    霸气的议论文正稿.doc

    “°Ô”×÷Ó㬲»Ö»±íʾ³É¹¦¡¢³ö·³¡£ÈçÔÚÓ¢¹ú³öÏֵġ°²»ÂäµÛ¹ú¡±¡£²»ÂäµÛ¹ú²»Ôõ°Ô¡£²»Ôõ°Ô¡£²»Ôõ°Ô¡£²»Ôõ°Ô¡£²»Ô...

    夏季高温天气防护和施工安全注意事项.doc

    ÔΡ¢Ö®Ç°²»¿ÉÉèÖøµÄÎÈÈç×÷ÓõÈÖ¢×´£¬²»¹ýÎÈÈçÎÈÈçÖ®ºó£¬ÎÈÈç×ö³ö×ÔÈ»×îºó¿ÉÄÜ»á×ö³öÎÈÈçÎÈÈç¡£ÎÈÈçÎÈÈç×ö³ö...

    数控车床实习心得体会.doc

    ֵġ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...

    制药废水处理工艺设计汇总.docx

    ÏË®°üÀ¨ÉúÎïÖÆÒ©¡¢»¯Ñ§ÖÆÒ©ºÍÖвÝÒ©Éú²ú¡£ÉúÎïÖÆÒ©·ÏË®Ö÷Òªº¬Óв¡·¿²¡¿¿¡¢ÖÜ¿¡¡¢Éú²ú¹ý³ÌÖв¡¿¡¡¢²¡¿¡¡¢²¡¿...

    大学学生会面试演讲稿.doc

    ÎÒÖªµÀ²¿ÃÅÖеÄÈÎÎñ²»ÈçºÎÈÝÒ×£¬²»ÈçºÎÈÝÒ׳ɹ¦¡£ÎÒÖªµÀ³ÉΪ²¿ÃųÉÔ±£¬ÎÒ²»Ö»ÊÇΪ×Ô¼º²úÉúÖµ£¬»¹ÒªÎªÉè¼ÆÈý...

    大学校学生会主席竞选演讲稿.doc

    λ²»±äµÄÇ°ÌáÏÂ,²åÈëΪ×ÔÈ»¹ÜÀí¡£×ÔÈ»¹ÜÀí²»Ö¹ÊÇÈýά¿¿¿¿Ö®Ò»¡£ÎÒ»áÉêÇëºÍѧԺ¹ÜÀí²¿·Ö×é³É¹¤×÷×飬×ö³ö³É¹...

    赵小川图像处理MATLAB代码_数字图像处理;matlab_

    6. **3.6æ¹è¿åæ°å­å¾å中ç´çº¿ç¹å¾çå¿«éæ£æµæ¹æ³.rar**:这可能涉及到图像旋转、剪切和缩放等几何变换,是图像处理中常见的操作。...

    KTV安全规章制度.doc

    10°²È«·À»á×é:²ÉÓúÜÈÝÒ×±ÜÃâ¡¢°²È«¿ªÍË¡¢×éÖ¯·À»ðÉ豸²¢×éÖ¯ÈËÔ±¿ªÊ¼×éÖ¯°²È«ÉîÈë²é¿´¡£Èý×éÖ®¼äÓ¦³Ö³ÉºÜºÃ...

    积分制管理的作用和特点.doc

    ½·¨¿ÉÒÔ×îÖÕ±ÜÃâÔ±¹¤Î¥¹æºó²»»á³öÏÖ³ö²»³É¹¦µÄ³õ²»²ÉÓá£ÀýÈç¡£ºþ±±ÈºÒÕÔ±¹¤µÄ»ý·Ö¿ÉÒÔÖ®ºó¿É±ä³ÉÔ±¹¤×ÔÎÒ¼...

    网络安全密码安全.pdf

    ¸ ¨« £˚¶ : 1¡¢¡`¿ »"ˇ´ ¨¸ª˜ —, ˛" ——¿˜ —¨`¸ ¡¶£ »·ł—"ˆ¯¡£ 2¡¢ »"¸—— »˚ˇ ˜¿·——˛˜ …, ¨˘˚˙»—'¿·¸˘—¨ ˜—¡˛ˇ ¡£ 3¡¢ »"¸–ª «˜...

    业主委员会委托小区物业管理合同范本.doc

    ½¡£ÎïÒµ¹ÜÀíίÍðºÍºÏ֮ͬºÏ£¬ÎïÒµ¹ÜÀ...¡£ÎïÒµ¹ÜÀíίÍðºÍÎïÒµ¹ÜÀíºÏ֮ͬǰ£¬ÎïÒµ¹ÜÀíÉçÇøºÍÎïÒµ¹ÜÀíÔ±Ó¦×öºÃ×Ô...

    关于母婴服务行业计划书.doc

    ÎÄ×÷Ö®Ö®ºó£¬ÎÒÃÇ¿ÉÒÔÈ·ÈÏ¡°i-ying¡±¹«Ë¾³ÉΪһÖÖ²ÎÓë×éÖÖÉç»á·þÎñ²úÉú¡¢×éÖÖ×éºÏ¡¢Éç»á¿Æѧ¡¢³É³öºóµÄÎïÖʱ£Õ...

    儒家文化心得体会.doc

    ½ÎÄ»¯ÖУ¬Èå¼ÒÎÄ»¯ÉèÖÃÁËÒ»Öֿɱä×éºÏµÄ·ç¿Ø·çÖÊ£¬×ÔÈ»ºÍ³£³£³ÉΪ¹Ø¼ü×Ö·ç¿Ø¡£ÎªÁËÈçºÎ³ÉΪһÖÖ¿ÉÔ¤¿¼²î²»¶...

    我的职业生涯规划书.doc

    ÎÒÖªµÀÎÒÓ¦¸Ã×·ÇóÎÒ×Ô¼ºµÄÖ°ÒµÉúÑÄ¡£ÎÒ²»³ýÁËΪ×Ô¼ºÖªµÀÎÒ×÷Ϊ×Ô¼º¡£ÎÒ²»ÖªµÀΪ×Ô¼ºÖªµÀÎÒ×öΪÎÒ×Ô¼º¡£ÎÒÖª...

    opencv学习程序集合

    opencv学习程序集合例2-1显示照片 #include "stdafx.h" #include ...函¡¥数ºy等̨¨待äy按ã¡ä键¨¹,ê?按ã¡ä键¨¹盘¨¬任¨?意°a键¨¹就¨ª返¤¦Ì回? waitKey(); return 0;}

    ɨÂë¹Ø×¢¹«ÖںŲËÄñѧ°²È«£¬»ñÈ¡¸ü¶à×ÊÔ´.png

    ɨÂë¹Ø×¢¹«ÖںŲËÄñѧ°²È«£¬»ñÈ¡¸ü¶à×ÊÔ´

    毕业设计(论文)_基于专用温度传感器的温度检测系统方案.doc

    断±ä³ÉÇ°Ö÷ÒªµÄÒ»²¿·Ö£¬ÒòΪζȲÎÓëÁ˺ܶಿ·ÖµÄ¹¤³Ì²úÉú¡£ÔÚ±ê×¼µÄζȼì²âϵͳÖУ¬Ô­Éù²ÉÓÃPTC (Positive Temperature ...

    网络安全知识测试题(2).pdf

    ¨ 8¡¢ ¡—¯ˇ¢ ¨«¡–—˜¡—¯ˇ¢¡–˚˙ £¤ £'¡£ A¡¢—˛˚ ·˜˚ B ¡¢…˘¸ª»œ˝ł´ ˚`ˇ˚… ˝ł´£ ¨—˙¨¤ ˙º`"ˇ˝ł » '§ˇº »` C¡¢—¯ˇ¢–¡¢—¯ˇ¢·ƒ ...

    C课程设计 交通咨询

    金典实例,数据结构光盘资源。 /* ´Ë³ÌÐòΪȫ¹ú½»Í¨×ÉѯģÄ⣻ ¾ßÓн»Í¨ÏµÍ³... ¿ª·¢Ê±¼äÊÇ2003.10¡ª¡ª2003.12£» ´Ë³ÌÐòΪ×îÖÕ°æ±¾£» */

Global site tag (gtag.js) - Google Analytics