日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spingboot:登出功能

發布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spingboot:登出功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

登錄功能可以銷毀session或者刪除session的屬性來實現

session.invalidate(); session.removeAttribute("ID");

這里的ID是我登陸時存入的session
我本來的想法是這樣的,先把session消滅,然后return到主頁,通過登陸攔截器把他踢回登陸頁面。

錯誤示范

@RequestMapping("/logout")public String logout(HttpSession session){session.invalidate();return "index";}

結果
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Cannot create a session after the response has been committed
是因為我這里invalidate()直接把session設置為失效。但是session失效的同時 瀏覽器會立即創建一個新的session。這也就是為什么他提示我們Cannot create a session after the response has been committed我們的代碼上并沒有創建session。是服務器幫我們重新創建了一個session。
然后我改成

@RequestMapping("/logout")public String logout(HttpSession session){session.removeAttribute("ID");return "index";}

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Cannot forward after response has been committed
也就是不能再請求提交之后再轉發了。
于是我改成

public String logout(HttpSession session){session.removeAttribute("ID");return "";} }

就可以了

總結

以上是生活随笔為你收集整理的spingboot:登出功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。