學(xué)習(xí)心得

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            3 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

          昨天學(xué)習(xí)了struts的ActionForm 才知道,原來在struts中ActionForm扮演N多重要角色。
          今天學(xué)習(xí)到ActionForward。
          下面開始簡述一下自己學(xué)到的心得體會。
          在剛開始我理解的請求的轉(zhuǎn)發(fā)和重定向只是有一個區(qū)別,
          那就是如果用請求的轉(zhuǎn)發(fā)那么在上下文環(huán)境中儲存的參數(shù)些在轉(zhuǎn)發(fā)的下一個Action或JSP中還能用。
          而相反請求的重定向則會把上下文清空。所以那些參數(shù)也不復(fù)存在。
          其實在一開始這么理解確實沒有錯的。
          這幾天猛然翻起struts的書才發(fā)現(xiàn)。自己懂的還很少。

          請求的轉(zhuǎn)發(fā):
          請求的轉(zhuǎn)發(fā)實際是在服務(wù)器那端執(zhí)行的。也就是說那些request、session這里里面存放的東西只能在服務(wù)器端訪問。
          現(xiàn)在從客戶端發(fā)送一個請求過來,如果在Action中進行了請求的重定向,那么struts就會把請求對象傳給下一個Servelt
          處理。所以大家在上下文件環(huán)境中保存的參數(shù)都還有。在我們做的程序開發(fā)中差不多全是請求的轉(zhuǎn)發(fā),因為要利用
          上下文環(huán)境來傳遞數(shù)據(jù)。因為在請求的轉(zhuǎn)的同時,這一次請求并沒有返回客戶端,只是在服務(wù)器端做了轉(zhuǎn)發(fā)。所以
          當(dāng)響應(yīng)回到客戶端的時候,客戶端并不知道服務(wù)器端進行過請求的轉(zhuǎn)發(fā)所以在客戶端的地址欄的url不做任何變化。

          請求的重定向:
          請求的重定向?qū)嶋H是當(dāng)在服務(wù)器端接受到請求的重定向請求的時候,他會即時響應(yīng)客戶端然后告訴客戶端要請求的地址。并
          自動再將請求發(fā)送給傳回來的url。實際上請求的重定向兩次向服務(wù)器發(fā)送了請求。所以當(dāng)服務(wù)器第一次響應(yīng)請求的時候,
          不能把request對象傳送回客戶端,所以在請求的重定向中無法通過上下文環(huán)境來保存數(shù)據(jù)。那我們怎么傳遞數(shù)據(jù)呢,只能通過
          服務(wù)器第一次響應(yīng)的時候會傳送回來一個再次請求的url(http://www.baidu.com?keyword=123)。可以在url中跟上對應(yīng)的參數(shù)可以達到數(shù)據(jù)傳遞的目的。這樣用著比較麻煩,但這樣做就可以改變客戶端的url地址。因為請求第一次是返回過客戶端的。所以客戶端就知道了新的url地址,相應(yīng)
          也就會改變。
          小結(jié):
          個人認為請求的重定向的轉(zhuǎn)發(fā)最大的差別就是:請求的轉(zhuǎn)發(fā)是在服務(wù)端完成的,并沒有返回客戶端。而請求的重定向會返回一次客戶端,通過
          客戶端的身份再次請求相應(yīng)的url。
          posted on 2009-02-26 14:59 Mr.wang 閱讀(2603) 評論(1)  編輯  收藏

          Feedback

          # re: 學(xué)習(xí)筆記/struts/請求轉(zhuǎn)發(fā)與重定向[未登錄] 2009-12-19 12:29 Charles
          請求的轉(zhuǎn)發(fā):
          請求的轉(zhuǎn)發(fā)實際是在服務(wù)器那端執(zhí)行的。也就是說那些request、session這里里面存放的東西只能在服務(wù)器端訪問。
          現(xiàn)在從客戶端發(fā)送一個請求過來,如果在Action中進行了請求的重定向,那么struts就會把請求對象傳給下一個Servelt處理。

          如果在Action中進行了請求的重定向,那么struts就會把請求對象傳給下一個Servelt處理。
          我覺得你書白看了還是沒整明白啊  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 探索| 南涧| 宿州市| 青岛市| 芜湖市| 乾安县| 习水县| 南投市| 万年县| 南岸区| 察雅县| 甘泉县| 桦南县| 延吉市| 景东| 本溪| 遂宁市| 三穗县| 黔西县| 灌阳县| 隆德县| 唐山市| 潜山县| 龙胜| 长宁区| 萍乡市| 宁波市| 青田县| 卢龙县| 辛集市| 双流县| 株洲市| 霍林郭勒市| 鹤壁市| 金华市| 大方县| 廊坊市| 精河县| 萝北县| 洛南县| 关岭|