<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術(shù)
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    JSF六個(gè)底層原理:
    --重建組件樹(shù):jsf應(yīng)用里的jsp頁(yè)面被表示成一個(gè)組件樹(shù)。在這個(gè)階段里,通過(guò)重建這棵樹(shù)開(kāi)始LifeCycle處理過(guò)程。每個(gè)組件樹(shù)都有一個(gè)在整個(gè)應(yīng)用程序范圍里唯一的標(biāo)識(shí)符,此標(biāo)識(shí)符是所請(qǐng)求URI的路徑信息部分
    --應(yīng)用請(qǐng)求值:在這個(gè)階段,使用請(qǐng)求里的當(dāng)前值來(lái)更新每個(gè)組件的本地值,這些值可能來(lái)自請(qǐng)求參數(shù),請(qǐng)求的包頭及cookie。在這個(gè)階段的處理中,組件可以往事件隊(duì)列里加入某些事件,這些事件可在隨后的處理階段處理
    --處理驗(yàn)證:當(dāng)每個(gè)組件的本地值被更新后,在此階段中LifeCycle對(duì)象會(huì)驗(yàn)證這些值的合法性。要求驗(yàn)證的組件必須提供驗(yàn)證邏輯的實(shí)現(xiàn)。作 為選擇,開(kāi)發(fā)人員可以為一個(gè)組件注冊(cè)0個(gè)或者多個(gè)驗(yàn)證器。如果發(fā)現(xiàn)外部驗(yàn)證器,那么還會(huì)應(yīng)用這些外部驗(yàn)證器里的驗(yàn)證邏輯來(lái)驗(yàn)證本地值。
    --更新模型值:只有當(dāng)組件樹(shù)中所有的組件的本地值都通過(guò)驗(yàn)證后,才有可能到達(dá)該階段。在這個(gè)階段中,LifeCycle更新呢應(yīng)用的模型數(shù)據(jù)。組件在這個(gè)節(jié)點(diǎn)也可以排列事件。
    --調(diào)用應(yīng)用:在這個(gè)階段,JSF實(shí)現(xiàn)處理所有應(yīng)用層次的時(shí)間。
    --呈現(xiàn)響應(yīng):在這個(gè)階段,JSF實(shí)現(xiàn)將相應(yīng)發(fā)揮客戶端。

    JSF的生命周期:
    恢復(fù)視圖--應(yīng)用請(qǐng)求值--處理驗(yàn)證--呈現(xiàn)響應(yīng)--調(diào)用應(yīng)用程序--更新模型值

    JSF的工作方式:
    JSF應(yīng)用是通過(guò)處理由頁(yè)面中組件處罰的事件來(lái)工作的。這些事件是由用戶的動(dòng)作引起的。(JSF是事件驅(qū)動(dòng)的)
    --創(chuàng)建FacesContext
    --把控制權(quán)交給LifeCycle
    --分六個(gè)階段處理FacesContext

    ajax原理:
    -----一個(gè)異步無(wú)刷新的技術(shù),主要是通過(guò)在客戶端瀏覽器內(nèi)置的XMLHttpRequest對(duì)象,發(fā)送和接收請(qǐng)求。
    XMLHttpRequest對(duì)象先把請(qǐng)求發(fā)送給瀏覽器中內(nèi)置的ajax引擎,通過(guò)引擎轉(zhuǎn)發(fā)給對(duì)應(yīng)的服務(wù)器,并且引擎還要負(fù)責(zé)接收服務(wù)器的返回, 和服務(wù)器進(jìn)行交互,即時(shí)獲取服務(wù)器的狀態(tài)。還要負(fù)責(zé)把服務(wù)器的返回發(fā)送給客戶端。客戶端通過(guò)XMLHttpRequest對(duì)象對(duì)返回結(jié)果進(jìn)行解析


    Http原理:
    ----最常見(jiàn)的網(wǎng)絡(luò)傳輸協(xié)議。速度快,無(wú)狀態(tài)。
    ----不管客戶端用什么頻率去請(qǐng)求服務(wù)器的資源,服務(wù)器只會(huì)去響應(yīng),而不會(huì)去保存客戶端的任何狀態(tài)


    Struts原理:
    ----web服務(wù)器啟動(dòng)的時(shí)候讀取web.xml文檔,創(chuàng)建ActionServlet對(duì)象。
    ----當(dāng)客戶端請(qǐng)求發(fā)起是,ActionServlet攔截請(qǐng)求,截取特定的請(qǐng)求,獲取請(qǐng)求的名稱。
    ----然后讀取Struts讀取配置文件,根據(jù)請(qǐng)求的名稱讀取相關(guān)信息,保存在moduleConfig對(duì)象中
    ----找到其中的ActionMapping和path屬性,來(lái)進(jìn)行請(qǐng)求是否匹配的判斷
    ----如果發(fā)現(xiàn)有對(duì)應(yīng)的path,則將請(qǐng)求轉(zhuǎn)到對(duì)應(yīng)的Action,并且創(chuàng)建ActionForm對(duì)象,獲取從請(qǐng)求中傳遞來(lái)的參數(shù),將參數(shù)保存在ActionForm中,調(diào)用Action的execute方法
    ----ActionServlet接收Action處理完業(yè)務(wù)邏輯返回的結(jié)果---ActionForward對(duì)象
    ----然后在配置文件找到對(duì)應(yīng)的forward路徑,將顯示轉(zhuǎn)發(fā)或者重定向到找到的路徑。

    Servlet MVC原理:
    ----服務(wù)器啟動(dòng)的時(shí)候讀取web.xml,創(chuàng)建servlet對(duì)象。
    ----當(dāng)客戶端發(fā)起請(qǐng)求的時(shí)候,servlet負(fù)責(zé)攔截指定的請(qǐng)求,根據(jù)請(qǐng)求的方式是get還是post調(diào)用對(duì)象的doGet或者doPost方法。
    ----doGet,doPost中通過(guò)request或者response控制頁(yè)面的轉(zhuǎn)發(fā)或者重定向
    主站蜘蛛池模板: 亚洲国产精品一区二区第一页| 亚洲最大视频网站| 亚洲高清日韩精品第一区| 精品国产日韩亚洲一区91| 日韩插啊免费视频在线观看 | 麻豆国产VA免费精品高清在线 | 亚洲精品视频免费在线观看| 久久久久久久99精品免费观看| 日韩伦理片电影在线免费观看| 亚洲无人区视频大全| 四虎AV永久在线精品免费观看| 精品国产成人亚洲午夜福利| 2019中文字幕在线电影免费 | 91视频免费观看| 亚洲女初尝黑人巨高清| 一道本不卡免费视频| 国产精品四虎在线观看免费| 特级aa**毛片免费观看| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲中文字幕成人在线| a级毛片免费网站| 精品国产日韩亚洲一区| 日本在线看片免费| 中文字幕亚洲乱码熟女一区二区| 国产成人无码精品久久久久免费 | 四虎精品免费永久免费视频| 国产亚洲情侣一区二区无| 91在线品视觉盛宴免费| 中国亚洲呦女专区| 久久亚洲AV成人出白浆无码国产| 999久久久免费精品播放| igao激情在线视频免费| 亚洲另类无码一区二区三区| 一级毛片直播亚洲| 在线免费一区二区| a级毛片免费观看在线| 天天综合亚洲色在线精品| 亚洲一卡2卡3卡4卡乱码 在线| 成人性生免费视频| 免费无码专区毛片高潮喷水 | 久久夜色精品国产噜噜噜亚洲AV|