Springboot使用Cookie,生成cookie,獲取cookie信息(註解與非註解方式)

最近無意間發現好多人搬了這個簡單的cookie使用文章,大家搬文章的時候,可以先跟我說一聲,互相尊重下。 不過知識分享推廣這個是好的!歡迎大家一起分享!

做了個簡簡單單的小例子去記錄一下,怎麼使用這個Cookie,雖然現在用了shiro去管控登錄,裏面用的是token,但是說不定以後得用上這個。

廢話不多說,開始上! 代!碼!

先 創建一個控制類吧, 其實我沒有分層啊,隨便做個例子:

MyGetCookieController:

@RestController
public class MyGetCookieController {

  //......先空着-JCccc

}


//首先,想要獲取Cookie信息,那麼就得先有Cookie信息,這邊我們自己從頭開始,先弄個Cookie吧。

@RequestMapping(value = "/setCookies",method = RequestMethod.GET)
    public  String setCookies(HttpServletResponse response){
        //HttpServerletRequest 裝請求信息類
        //HttpServerletRespionse 裝相應信息的類
        Cookie cookie=new Cookie("sessionId","CookieTestInfo");
        response.addCookie(cookie);
        return "添加cookies信息成功";
    }

上邊,可以看到,我new了個Cookie,name是sessionId,value是CookieTestInfo; 接下來我們看看怎麼取。

//非註解方式獲取cookie中對應的key值

@RequestMapping(value = "/getCookies",method = RequestMethod.GET)
public  String getCookies(HttpServletRequest request){
    //HttpServletRequest 裝請求信息類
    //HttpServletRespionse 裝相應信息的類
 //   Cookie cookie=new Cookie("sessionId","CookieTestInfo");
    Cookie[] cookies =  request.getCookies();
    if(cookies != null){
        for(Cookie cookie : cookies){
            if(cookie.getName().equals("sessionId")){
                return cookie.getValue();
            }
        }
    }

   return  null;
}

上邊注意了,看到那個循環沒,這是非常有必要的! 因爲這不是通過註解方式去獲取Cookie中對應的key值(註解方式下邊有介紹),所以得用這種方式去獲取(看到裏面的if沒,就是通過Cookie的name:sessionId去拿值),如果執行成功,會顯示在網頁上的,因爲這個是個@RestController。

 

//註解方式獲取cookie中對應的key值

@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("sessionId") String sessionId ) {
   //前提是已經創建了或者已經存在cookie了,那麼下面這個就直接把對應的key值拿出來了。
   System.out.println("testCookieValue,sessionId="+sessionId);
  
   
    return "SUCCESS";
}

上邊的代碼,你可以看到實際上通過註解方式去獲取Cookie信息的話,是非常!簡單!的!,直接@一下,然後String sessionIValue=sessionId; 就拿出來了!


好了,Cookie的簡單使用,就這樣子吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章