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

簡(jiǎn)介JSF

系統(tǒng) 1796 0

簡(jiǎn)介JSF

?

Web應(yīng)用程序的開(kāi)發(fā)與傳統(tǒng)的單機(jī)程序開(kāi)發(fā)在本質(zhì)上存在著太多的差異,Web應(yīng)用程序開(kāi)發(fā)人員至今不可避免的必須處理HTTP的細(xì)節(jié),而HTTP無(wú)狀態(tài)的 (stateless)本質(zhì),與傳統(tǒng)應(yīng)用程序必須維持程序運(yùn)行過(guò)程中的信息有明顯的違背,再則Web應(yīng)用程序面對(duì)網(wǎng)站上不同的使用者同時(shí)的存取,其執(zhí)行緒 安全問(wèn)題以及資料驗(yàn)證、轉(zhuǎn)換處理等問(wèn)題,又是復(fù)雜且難以解決的。

  另一方面,本質(zhì)上是靜態(tài)的HTML與本質(zhì)上是動(dòng)態(tài)的應(yīng)用程序又是一項(xiàng)違背,這造成不可避免的,處理網(wǎng)頁(yè)設(shè)計(jì)的美術(shù)人員與程序設(shè)計(jì)人員,必須被彼 此加入至視圖組件中的邏輯互相干擾,即便一些視圖呈現(xiàn)邏輯以卷標(biāo)的方式呈現(xiàn),試圖展現(xiàn)對(duì)網(wǎng)頁(yè)設(shè)計(jì)美術(shù)人員的親切,但它終究必須牽涉到相關(guān)的流程邏輯。

  有很多方案試著解決種種的困境,而各自的著眼點(diǎn)各不相同,有的從程序設(shè)計(jì)人員的角度來(lái)解決,有的從網(wǎng)頁(yè)設(shè)計(jì)人員的角度來(lái)解決,各種的框架被提 出,所造成的是各種不統(tǒng)一的標(biāo)簽與框架,為了促進(jìn)產(chǎn)能的整合開(kāi)發(fā)環(huán)境(IDE)難以整合這些標(biāo)簽與框架,另一方面,開(kāi)發(fā)人員的學(xué)習(xí)負(fù)擔(dān)也不斷的加重,他們 必須一人了解多個(gè)角色的工作。

JavaServer Faces 的提出在試圖解決這個(gè)問(wèn)題,它試圖在不同的角度上提供網(wǎng)頁(yè)設(shè)計(jì)人員、應(yīng)用程序設(shè)計(jì)人員、組件開(kāi)發(fā)人員解決方案,讓不同技術(shù)的人員可以彼此合作又不互相干擾,它綜合了各家廠商現(xiàn)有的技術(shù)特點(diǎn),由Java Community Process(JCP)團(tuán)隊(duì)研擬出來(lái)的一套標(biāo)準(zhǔn),并在2004年三月發(fā)表了JavaServer Faces 1.0實(shí)作成果。

  從網(wǎng)頁(yè)設(shè)計(jì)人員的角度來(lái)看,JavaServer Faces提供了一套像是新版本的HTML標(biāo)簽,但它不是靜態(tài)的,而是動(dòng)態(tài)的,可以與后端的動(dòng)態(tài)程序結(jié)合,但網(wǎng)頁(yè)設(shè)計(jì)人員不需要理會(huì)后端的動(dòng)態(tài)部份,網(wǎng)頁(yè) 設(shè)計(jì)人員甚至不太需要接觸JSTL這類(lèi)的卷標(biāo),也可以動(dòng)態(tài)的展現(xiàn)數(shù)據(jù)(像是動(dòng)態(tài)的查詢(xún)表格內(nèi)容),JavaServer Faces提供標(biāo)準(zhǔn)的標(biāo)簽,這可以與網(wǎng)頁(yè)編輯程序結(jié)合在一起,另一方面,JavaServer Faces也允許您自訂標(biāo)簽。

  從應(yīng)用程序設(shè)計(jì)人員的角度來(lái)看,JavaServer Faces提供一個(gè)與傳統(tǒng)應(yīng)用程序開(kāi)發(fā)相類(lèi)似的模型(當(dāng)然因某些本質(zhì)上的差異,模型還是稍有不同),他們可以基于事件驅(qū)動(dòng)來(lái)開(kāi)發(fā)程序,不必關(guān)切HTTP的 處理細(xì)節(jié),如果必須處理一些視覺(jué)組件的屬性的話,他們也可以直接在整合開(kāi)發(fā)環(huán)境上拖拉這些組件,點(diǎn)選設(shè)定組件的屬性,JavaServer Faces甚至還為應(yīng)用程序設(shè)計(jì)人員處理了對(duì)象與字符串(HTTP傳送本質(zhì)上就是字符串)間不匹配的轉(zhuǎn)換問(wèn)題。

  從UI組件開(kāi)發(fā)人員的角度來(lái)看,他們可以設(shè)計(jì)通用的UI組件,讓?xiě)?yīng)用程序的開(kāi)發(fā)產(chǎn)能提高,就如同在設(shè)計(jì)Swing組件等,UI開(kāi)發(fā)人員可以獨(dú)立開(kāi)發(fā),只要定義好相關(guān)的屬性選項(xiàng)來(lái)調(diào)整細(xì)節(jié),而不用受到網(wǎng)頁(yè)設(shè)計(jì)人員或應(yīng)用程序設(shè)計(jì)人員的干擾。

  三個(gè)角色的知識(shí)領(lǐng)域原則上可以互不干擾,根據(jù)您的角色,您只要了解其中一個(gè)知識(shí)領(lǐng)域,就可以運(yùn)用JavaServer Faces,其它角色的知識(shí)領(lǐng)域您可以不用了解太多細(xì)節(jié)。

  當(dāng)然,就其中一個(gè)角色單獨(dú)來(lái)看,JavaServer Faces隱藏了許多細(xì)節(jié),若要全盤(pán)了解,其實(shí)JavaServer Faces是復(fù)雜的,每一個(gè)處理的環(huán)境都值得深入探討,所以學(xué)習(xí)JavaServer Faces時(shí),您要選擇的是通盤(pán)了解,還是從使用的角度來(lái)了解,這就決定了您學(xué)習(xí)時(shí)所要花費(fèi)的心力。

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

  請(qǐng)至 JSF 官方網(wǎng)站的 下載區(qū) 下載參考實(shí)作,在下載壓縮檔并解壓縮之后,將其 lib 目錄下的 jar 檔案復(fù)制至您的Web應(yīng)用程序的/WEB-INF/lib目錄下,另外您還需要 jstl.jar 與 standard.jar 檔案,這些檔案您可以在 sample 目錄下,解壓縮當(dāng)中的一個(gè)范例,在它的/WEB-INF/lib目錄下找到,將之一并復(fù)制至您的Web應(yīng)用程序的/WEB-INF/lib目錄下,您總共需要以下的檔案:

            * jsf-impl.jar
    * jsf-api.jar
    * commons-digester.jar
    * commons-collections.jar
    * commons-beanutils.jar
    * jstl.jar
    * standard.jar
      

  接下來(lái)配置Web應(yīng)用程序的web.xml,使用JSF時(shí),所有的請(qǐng)求都透過(guò)FacesServlet來(lái)處理,您可以如下定義:

?

  • 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的請(qǐng)求交由FaceServlet來(lái)處理,F(xiàn)aceServlet會(huì)喚起相對(duì)的.jsp網(wǎng)頁(yè),例如請(qǐng)求是/index.faces的話,則實(shí)際上會(huì)喚起/index.jsp網(wǎng)頁(yè),完成以上的配置,您就可以開(kāi)始使用JSF了。

?

簡(jiǎn)介JSF


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 干成人网 | 日本α级毛片视频免费观看 | 91精品一区二区 | 精品综合 | 国产精品三区四区 | 在线日本妇人成熟免费观看 | 日本精品视频一视频高清 | 男人草女人的视频 | 婷婷色站 | 黑人边吃奶边扎下面激情视频 | 亚洲小视频在线播放 | 四虎影视永久费观看在线 | 青青青青青国产费线在线观看 | 精品图区 | 精品一区中文字幕 | 欧美人在线一区二区三区 | 奇米视频第四色 | a一级网站 | 久草在线国产 | 99国内精品久久久久久久 | 欧美男女啪啪 | 国产一区二区免费在线观看 | 久久青青草原精品影院 | 日本一级特级毛片视频 | 九九精品免视看国产成人 | 深夜a| 国产成人a一区二区 | 依人成人综合网 | 草草福利影院 | 亚洲精品aⅴ一区二区三区 亚洲精品ccc | 色偷偷精品视频在线播放 | 亚洲欧美日本在线观看 | 成人午夜亚洲影视在线观看 | 日韩一区二区视频 | 亚洲不卡| 国产羞羞羞视频在线观看 | 97在线成人免费视频观看 | 国产91在线 | 日本 | 欧美图片一区二区三区 | 久久久精品波多野结衣 | 国产免费小视频 |