乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java基礎(chǔ)系列(基礎(chǔ)):Java使用Cookie增刪改查操作!

       印度阿三17 2019-07-06

      什么是Cookie?

      Cookie是由W3C組織提出,最早由NetScape社區(qū)發(fā)展的一種機(jī)制。

      Cookie是存儲(chǔ)于訪問(wèn)者的計(jì)算機(jī)中的變量。每當(dāng)同一臺(tái)計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí),就會(huì)發(fā)送這個(gè)cookie。

      Cookie的作用就是用于解決"如何記錄客戶端的用戶信息":

      • 當(dāng)用戶訪問(wèn)web頁(yè)面時(shí),他的名字可以記錄在Cookie中。

      • 在用戶下一次訪問(wèn)該頁(yè)面時(shí),可以在Cookie中讀取用戶訪問(wèn)記錄。

      Cookie實(shí)際上是一小段文本信息(上限為4kb)??蛻舳苏?qǐng)求服務(wù)器,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個(gè)Cookie??蛻舳藶g覽器可以把Cookie保存起來(lái)。當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該Cookie一同提交給服務(wù)器。服務(wù)器檢查該Cookie,以此來(lái)辨認(rèn)用戶狀態(tài)。服務(wù)還可以根據(jù)需要修改Cookie的內(nèi)容。


      Cookie的屬性

      屬性名描述
      nameCookie的名稱,Cookie一旦創(chuàng)建,名稱便不可更改
      valueCookie的值,如果值為Unicode字符,需要為字符編碼。如果為二進(jìn)制數(shù)據(jù),則需要使用BASE64編碼
      maxAgeCookie失效的時(shí)間,單位秒。如果為整數(shù),則該Cookie在maxAge秒后失效。如果為負(fù)數(shù),該Cookie為臨時(shí)Cookie,關(guān)閉瀏覽器即失效,瀏覽器也不會(huì)以任何形式保存該Cookie。如果為0,表示刪除該Cookie。默認(rèn)為-1。
      secure該Cookie是否僅被使用安全協(xié)議傳輸。安全協(xié)議。安全協(xié)議有HTTPS,SSL等,在網(wǎng)絡(luò)上傳輸數(shù)據(jù)之前先將數(shù)據(jù)加密。默認(rèn)為false。
      pathCookie的使用路徑。如果設(shè)置為“/sessionWeb/”,則只有contextPath為“/sessionWeb”的程序可以訪問(wèn)該Cookie。如果設(shè)置為“/”,則本域名下contextPath都可以訪問(wèn)該Cookie。注意最后一個(gè)字符必須為“/”。
      domain可以訪問(wèn)該Cookie的域名。如果設(shè)置為“.google.com”,則所有以“google.com”結(jié)尾的域名都可以訪問(wèn)該Cookie。注意第一個(gè)字符必須為“.”。
      Comment該Cookie的用處說(shuō)明,瀏覽器顯示Cookie信息的時(shí)候顯示該說(shuō)明。
      versionCookie使用的版本號(hào)。0表示遵循Netscape的Cookie規(guī)范,1表示遵循W3C的RFC 2109規(guī)范

      獲取所有Cookie
      public static Cookie[] getCookies(HttpServletRequest request) {
          return request.getCookies();
      }

      獲取cookie很簡(jiǎn)單,直接從request中獲取即可。


      根據(jù)名稱獲取指定Cookie
      public static Cookie getCookieByName(HttpServletRequest request, String name) {
          if (StringUtils.isBlank(name)) {
              return null;
          }
      
          Cookie[] cookies = getCookies(request);
          if (null != cookies) {
              for (Cookie cookie : cookies) {
                  if (name.equals(cookie.getName())) {
                      return cookie;
                  }
              }
          }
          return null;
      }

      從所有cookie中循環(huán)判斷進(jìn)行獲取指定cookie。


      添加Cookie
      public static boolean addCookie(HttpServletResponse response, String name, String value, int maxAge) {
          if (StringUtils.isBlank(name) || StringUtils.isBlank(value)) {
              return false;
          }
      
          Cookie cookie = new Cookie(name.trim(), value.trim());
          if (maxAge <= 0) {
              maxAge = Integer.MAX_VALUE;
          }
      
          cookie.setMaxAge(maxAge);
          cookie.setPath("/");
          response.addCookie(cookie);
          return true;
      }

      這個(gè)添加很簡(jiǎn)單。


      刪除Cookie
      public static boolean removeCookie(HttpServletRequest request, HttpServletResponse response, String name) {
          if (StringUtils.isBlank(name)) {
              return false;
          }
      
          Cookie[] cookies = getCookies(request);
          if (null != cookies) 
              for (Cookie cookie : cookies) {
                  if (name.equals(cookie.getName())) {
                      cookie.setValue(null);
                      cookie.setMaxAge(0);
                      cookie.setPath("/");
                      response.addCookie(cookie);
              	     return true;
                  }
              }
          }
          return false;
      }

      刪除cookie,把 value設(shè)置為null,把 max-age設(shè)置為0就行了。


      到這里:Java基礎(chǔ)系列(基礎(chǔ)):Java使用Cookie增刪改查操作!分享完畢了,快去試試吧!


      最后

      • 編輯操作和刪除操作一樣,但是需要注意的是修改、刪除Cookie時(shí),除value、maxAge之外的所有屬性,例如name、path、domain等,都要與原Cookie完全一樣。否則,瀏覽器將視為兩個(gè)不同的Cookie不予覆蓋,導(dǎo)致修改、刪除失敗。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多