JSP:數據的存儲

數據的存儲

  • Cookie
  • Session
  • Application

解決亂碼問題

設置編碼格式 String URLEncoder.encode(變量,編碼格式)
設置解碼格式 String URLDecoder.decode(變量解碼格式)
  • 編碼和解碼通常一起使用
  • 適用於多種場合

Cookie

  • 什麼是Cookie:數據存儲對象之一

  • Cookie的作用:臨時以文件的形式將數據存儲在用戶的計算機上

  • 保存數據的形式:key-value

  • 保存數據的位置:瀏覽器的temp文件夾(每個瀏覽器的temp文件夾互相獨立)

  • 保存數據的種類:賬戶信息(不存密碼)、搜索記錄、…

注意:

  • 同一個瀏覽器下,Cookie對於該瀏覽器中打開的所有網站都是透明的!!!
  • 不同瀏覽器不能獲取對方的cookie
  • Cookie的使用:

    創建Cookie對象 Cookie cookie = new Cookie(String key,String value)
    保存Cookie對象 response.addCookie(Cookie cookie)
    設置Cookie的保存時間 cookie.setMaxAge(int time)
    讀取Cookie對象 Cookie[ ] cookies=request.getCookies()
    獲取已讀取對象中的key cookies.getName()
    獲取已讀取對象中的value cookies.getValue()

注意:

  • Cookie保存在客戶端,服務器沒有權限控制客戶端的內存,所以只能以String類型存儲鍵值對
  • Cookie對象由response保存
    • 保存不能放在轉跳之後,因爲保存Cookie是瀏覽器行爲,如果保存放在轉跳之後,雖然代碼會正常執行,但是瀏覽器不會保存Cookie
  • Cookie對象的保存時間以爲單位
  • Cookie對象由request讀取
    • 使用Cookie數組接收讀取到的對象

session(會話)

  • 什麼是會話:瀏覽器與服務器之間的一次通話,每次打開瀏覽器將自動產生一個新的會話對象,在原瀏覽器不關閉的情況下,訪問任何網站都不改變會話對象

注意:重新打開瀏覽器或者打開新的瀏覽器,都算一次新的會話

  • 會話的作用:可以在多次請求中保存和使用數據
  • 如何區別會話:每一次會話,服務器都會給客戶端分配一個全服務器唯一的sessionid,客戶端向服務器發起請求時會攜帶該sessionid**(服務器重啓時,sessionid纔會從服務器上消失)**

注意:因此瀏覽器無法得到其他瀏覽器的會話數據,也得不到該瀏覽器上一次的會話數據

  • session運行在哪裏:服務器

  • session的生命週期:通常爲20分鐘作用(如果用戶長時間不進行網頁操作)

  • session的使用:

    session對象保存數據 session.setAttribute(String key,Object value)
    session對象獲取數據 session.getAttribute(String key,Object value)

注意:由於session運行於服務器,所以session對象有控制內存的權限,也因此session的value能以Object的形式存儲(Object—>要開闢空間—>要運行Java代碼)

application

  • 什麼是application: 當網站服務器開啓時,application對象就被創建,所有用戶訪問該網站時共用同一個application對象**(服務器關閉時,application對象被清除)**

  • application的作用:存儲所有用戶的數據

  • application的缺點:服務器運行時間較長時,application佔用的內存較大

  • application運行在哪裏:服務器

  • application的使用:

    application對象保存數據 application.setAttribute(String key,Object value)
    application對象保存數據 application.getAttribute(String key)

Cookie、session、application的區別

Cookie Session Application
程序運行在哪裏 客戶端 服務器 服務器
數據存儲在哪裏 客戶端 服務器 服務器
以什麼類型存儲數據 String Object Object
數據開放權限 存儲用戶個人數據,瀏覽器間不通用 存儲用戶個人數據,瀏覽器只有讀權限 存儲所有用戶數據,數據完全公開
數據什麼時候清除 瀏覽器清除 服務器重啓 服務器重啓
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章