1. 程式人生 > >[筆記] 傳智播客-javaWeb筆記(3)

[筆記] 傳智播客-javaWeb筆記(3)

"); 正確
     
             
   

                       什麼是Session對像
   1:首先你應該把session想像成為一個大盒子,裡面用來存放客戶的資料
   2:當你開啟一個網站的首頁時,伺服器就會為你建立一個大盒子,並且為這個大盒子編一個號,
      於是這個大盒子就可以讓你在這個網站的不同頁面之間共享,直到你離開這個網站的時候,這伺服器又會      收回這個大盒子
   3:可見session對像的其中的一個功能就是為了實現讓同一個客戶端在不同頁面之間實現資料共享.
      但是一旦使用者離開這個網站,那麼session也就會自動消失
   4:一個網站可以被很多人同時訪問,訪問的每一個人在開啟主頁時,都會有一個大盒子,即session.
      如果另一個使用者也同時訪問網站,他也擁有自己的Session,但兩個使用者之間無法通過Session共享資訊
   5:以游泳分配一個櫃子為例來說明sesson的用法
   6:session對像的常用手法:
              A:在一個頁面裡面建立一個session變數.
              B:在另外一個頁面裡面去使用該session變數.
   
   
                        Session對像的方法
          1)在Servlet中要使用Session,必須要使用HttpSession介面
          2)Session對像是一個數據集合,也就是一個Session對像裡面可以放很多session變數,
            每一個Session變數都可以存放資料
          3)if(request.getSession().getAttribute("IsLogin")!=null) 
            判斷一個Session變數IsLogin是否存在,只有存在才可以繼續讀取裡面的資料
          3)得到一個IsLogin變數的值
             if(request.getSession().getAttribute("IsLogin")!=null) 只有判斷存在了,才可以讀資料
              request.getSession().getAttribute("IsLogin"):
          4)request.getSession().setAttribute("IsLogin","Yes");設定session中IsLogin裡面的值

                           什麼是Cookies對像
       
cookies對像可以客戶端長期儲存資訊。在客戶端的計算機裡面會有一個cookies資料夾,那裡就是存放客戶端的資訊的。當客戶端第一次去訪問某個網站時,該網站就會在客戶端的計算機裡面偷偷地寫入一個Cookies
下一次再訪問該網站時,它就會讀取你的計算機硬碟上cookies,並將新的資訊儲存在你的計算機上。
跟session不同的,cookies是把資訊儲存在客戶端,不是在伺服器裡面。
                               
                              操作cookies
                        1:得到所有的Cookies  
                            Cookie[] cookies=request.getCookies();
                        2:得到指定Cookies的名字:
                               Cookie.getName() 
                        3:得到指定Cookies的值
                             Cookie.getValue();
                        4:設定指定Cookies的值
                           cookie.setValue(值)
                        5:新增一個Cookies
                            cookie= new Cookie("Visted","1");
                            cookie.setMaxAge(10000);設定cookie的過期時間以鈔為單位
                            response.addCookie(cookie);
                        4:修改指定cookie的值:注意修改之後也要重新新增,否則新增之後無效
                               cookie.setValue(值); 
                               cookie.setMaxAge(1000);
                               response.addCookie(cookie); 
                      
                    
                                          
                  應用舉例:
           1:證明正常情況下,一個網頁或Servlet的資料是不能給另外一個網頁或servelt共享
                做兩個servlet,一個servlet裡面給一個session變數賦值,給一個私有變數賦值
                在另外一個servlet裡面去使用session變數與私有變數的值,看一下結果
           2:有一個登入介面(login.html),一個主頁面(index),在主頁面裡面有二個超連結分別為
             無限下載,新聞快遞。使用者必須要登入之後進入主頁面,然後才能使用這二個超連結功                       能,如果直接使用Index.html則會提示沒有登入,然後轉到登入介面 [注意使用session對像]
            登入頁面-------->轉到servlet1,用來處理使用者名稱是否正確,如果正確,轉到主頁面,否則轉到                              錯誤頁面
            主頁面---------->轉到servlet2,用來判斷使用者是否登入過,如果登入過則轉到無限下載或新聞                快遞頁面,否則轉到登入頁面
          3:統計某個客戶端曾經訪問某個網站的次數,和網站的所有訪問次數          
          Cookie[] cookies=request.getCookies();
          if (cookies!=null) //如果cookies不為空
           {
                for (i = 0; i < cookies.length; i++) 
                  {              
              
                  if (cookies