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

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

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

    學習心得

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

    2009年2月26日 #

    首先得弄清什么是Action?然后再搞清楚他在struts框架中扮演的什么角色?最后再了解他如何使用和基本結構生命周期等細節問題.
    在大多數人來看。Action其實就像是servlet。其實Action是一個輕量級的Java類。Servelt引用ActionMapping列表來選擇對應Action來處理。
    調用Action的方法然后返回一個ActionForward.ActionServlet再通過這個ActionForward轉發相應請求。
    posted @ 2009-03-02 16:41 Mr.wang 閱讀(205) | 評論 (0)編輯 收藏

    談到ActionMapping.相信大家用得最多的就是ActionMapping.findForward("forwardName");通過ActionMapping對象把請求轉發到指定的forward對象。
    沒錯,在大體上。ActionMapping就實現了一個路由的功能。負責把請求轉發到不同的ActionForward上。
    在我們經常用的配置就是:
    <action-mappings>
    <action path="login" type="study.struts.LoginAction"
    name
    ="login" scope="request"
        </action>
    </action-mappings
    >
    在<action-mappings>標簽中配置了N個action。實際上在struts1.1處理的時候會把這些action都裝飾成一個單例的ActionMapping對象然后放到一個
    ActionMappings的Map中,通過action的path屬性做為key。來區別不同的ActionMapping對象。struts就通過請求不同的path就可以達到把請求轉發給
    不同的Action上。
    ------------------------------------------------------------------------------------------------------
    ActionMapping工作起來就像是ActionServlet的一個路由聯絡官。取決于mapping 如何被填寫
    設置,請求可能被傳遞到任何地方。ActionMapping表達了Struts 應用的核心設計。如果你
    想知道一個 Struts 應用是如何工作的,可以從ActionMapping開始著手。如果你想知道如何
    編寫一個新的Struts 應用,也請從ActionMapping開始。Mapping處于每個Struts 應用的絕對
    核心。
    -----------------------------------截自<<struts in action>>------------------------------------------
    posted @ 2009-03-02 10:58 Mr.wang 閱讀(1572) | 評論 (0)編輯 收藏

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

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

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

    主站蜘蛛池模板: 免费无码又爽又刺激毛片| 国产午夜亚洲不卡| 怡红院亚洲红怡院在线观看| 亚洲免费一区二区| 久久99国产综合精品免费| 亚洲国产无线乱码在线观看 | 一二三四在线观看免费高清中文在线观看 | 亚洲乱码一区二区三区国产精品| 亚洲国产av无码精品| 久久综合给合久久国产免费| 丰满亚洲大尺度无码无码专线| 国产亚洲成AV人片在线观黄桃| 性短视频在线观看免费不卡流畅| 老司机免费午夜精品视频| 亚洲av日韩av高潮潮喷无码 | 久久亚洲精品无码观看不卡| 114一级毛片免费| 国产免费伦精品一区二区三区 | 日韩免费视频一区二区| 国产亚洲欧美日韩亚洲中文色| 久久亚洲AV无码精品色午夜麻| 国产精品公开免费视频| 3d动漫精品啪啪一区二区免费 | 免费无码不卡视频在线观看| 最近免费mv在线观看动漫| 国产亚洲视频在线观看| 亚洲一级毛片免费在线观看| 亚洲国产a∨无码中文777| 国产极品美女高潮抽搐免费网站| 日日麻批免费40分钟无码| a在线视频免费观看在线视频三区| 亚洲无mate20pro麻豆| 亚洲AV无码精品色午夜果冻不卡 | 久久综合日韩亚洲精品色| 亚洲人成色7777在线观看不卡| 妞干网手机免费视频| 1000部羞羞禁止免费观看视频| 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲国产精品人久久电影| 亚洲AV无码一区东京热久久| 亚洲国产精品人人做人人爱|