碼農往事
          我的代碼為什么這么丑?一定是因為我長的不好看
          posts - 29,comments - 86,trackbacks - 0
          JSP頁面定義了如下幾個作用域:
          頁面作用域(page scope)、請求作用域(request scope)、會話作用域(session scope)、應用程序作用域(application scope)
          頁面作用域中的對象僅在當前頁面可用;請求作用域中的對象在所有處理同一請求的頁面中都可用;會話作用域中的對象用于同一瀏覽器發出的所有請求;應用程序作用域中的對象被應用程序的所有用戶共享。
          通過設置<jsp:useBean>行為的scope屬性,制定bean應該放在哪個作用域中,例如:
          <jsp:useBean id="test" scope="request"  class="com.testBean" />
          會話跟蹤過程解釋:由于HTTP是一種無狀態協議,即服務器處理完瀏覽器的請求后將忘掉所發生的事務,當瀏覽器再次發出請求時,Web服務器并不知道新的請求與之前的請求有何關系。解決這個問題主要有兩種方法:
          1、服務器在應答中返回與該用戶有關的所有信息,并讓瀏覽器將其作為下一個請求的一部分發回去
          2、在服務器的任何位置保存狀態信息,并且發回一個標識符,瀏覽器在下一請求中返回該標識符,然后借由該標識符定位服務器上的狀態信息
          在這兩種情況下,可以用以下三種方式將狀態信息發送給瀏覽器:
          1、作為cookie    
          2、嵌入HTML表單作為隱藏字段
          3、進行編碼,編入應答主體的URL中,一般作為連接到其它應用程序的鏈接(也稱作URL復寫,URL rewriting)

          在瀏覽器和服務器間來回發送所有狀態信息的效率是極低的,所以大多數現代服務器都將信息保留在服務器上,只在瀏覽器和服務器間傳遞標識符,這就是會話跟蹤(session tracking),JSP隱藏了cookie會話跟蹤的所以細節,并實現了對URL復寫的支持,此外,JSP規范允許使用安全套接字協議層(Secure Socket Layer,SSL)內置的會話機制。在會話的生命周期中,保存在會話作用域中的信息可被同一瀏覽器的所有頁面所用。
          在線購物(P179):
          內存使用策略:
          1、只把那些真正需要被每個會話單獨擁有的對象放在會話作用域中
          2、將會話的有效期設成比默認值更短
          3、提供一種顯示的結束會話的方法。一個好的示例就是注銷功能,或者是當某件事務完成時,使會話失效。在servlet和其他自定義代碼中,可以使用HttpSession invalidate()方法。
          posted on 2012-05-21 00:35 Jimi 閱讀(1859) 評論(1)  編輯  收藏 所屬分類: JSP與servlet

          FeedBack:
          # re: 在JSP頁面、請求和用戶間共享數據(oreilly.JSP設計第二版 第十章 P160)
          2012-05-24 21:27 | 天津別墅銅門
          這個東西不錯的  回復  更多評論
            
          主站蜘蛛池模板: 胶南市| 介休市| 广汉市| 教育| 镇雄县| 会同县| 阜新市| 河津市| 文登市| 枣阳市| 镇远县| 大渡口区| 富民县| 含山县| 平潭县| 南投县| 湘西| 雷波县| 扬州市| 亚东县| 徐州市| 离岛区| 南宁市| 通山县| 平罗县| 静安区| 邵阳县| 山丹县| 环江| 沁阳市| 柳江县| 巴青县| 台东市| 博乐市| 平乡县| 浦城县| 任丘市| 塘沽区| 巧家县| 叙永县| 林甸县|