亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

簡介JSF

系統 1600 0

簡介JSF

?

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

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

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

JavaServer Faces 的提出在試圖解決這個問題,它試圖在不同的角度上提供網頁設計人員、應用程序設計人員、組件開發人員解決方案,讓不同技術的人員可以彼此合作又不互相干擾,它綜合了各家廠商現有的技術特點,由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 官方網站的 下載區 下載參考實作,在下載壓縮檔并解壓縮之后,將其 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

?

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了。

?

簡介JSF


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黄色影院免费看 | 日本不卡一区二区三区 | 一级做性色a爱片久久片 | 久草网在线观看 | 青青久久99久久99久久999 | 欧美污视频网站 | 成人国产在线不卡视频 | 成熟性xxxxx 成在线人免费视频一区二区三区 | 成人小视频免费 | 青青青草视频在线 | 亚洲精品美女久久777777 | 日日日操 | 欧美曰韩一区二区三区 | 中国一级特黄高清免费的大片 | 天天天天| 国产亚洲欧美在在线人成 | 国产操美女 | 国产精品福利视频一区二区三区 | 国产大片91精品免费观看不卡 | 精品在线小视频 | 久久99久久99精品免观看麻豆 | 国产另类图片 | 国产性色视频 | 国产精品久久久久影视青草 | 一区二区三区精品国产欧美 | 天天干干 | 正在播放一区二区 | 国产精品久久久久久久久鸭 | 国产成人免费不卡在线观看 | 狠狠狠狠狠狠狠 | 国产精品亚洲二线在线播放 | 精品国产91久久久久久久a | 正在播放亚洲 | 国产成人综合亚洲动漫在线 | 99久久综合狠狠综合久久一区 | 俄罗斯一级成人毛片 | 中文字幕色婷婷在线视频 | 久青草视频免费视频播放线路1 | 8090成人午夜精品 | 真人女人一级毛片免费视频观看 | 久久国产亚洲偷自 |