碼農往事
          我的代碼為什么這么丑?一定是因為我長的不好看
          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 閱讀(1869) 評論(1)  編輯  收藏 所屬分類: JSP與servlet

          FeedBack:
          # re: 在JSP頁面、請求和用戶間共享數據(oreilly.JSP設計第二版 第十章 P160)
          2012-05-24 21:27 | 天津別墅銅門
          這個東西不錯的  回復  更多評論
            
          主站蜘蛛池模板: 乌什县| 和平区| 富顺县| 泊头市| 卓尼县| 安远县| 凉山| 岱山县| 麦盖提县| 望江县| 双流县| 万荣县| 红原县| 成都市| 芦山县| 洛隆县| 南郑县| 盐津县| 德江县| 武穴市| 西丰县| 岳普湖县| 武定县| 濮阳市| 衡水市| 安多县| 芜湖市| 互助| 孟津县| 黄陵县| 亳州市| 梁平县| 青田县| 桂平市| 凤阳县| 贵阳市| 柯坪县| 贡山| 南陵县| 漳浦县| 定南县|