欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中HttpSessionListener的簡單使用方式

 更新時間:2022年03月17日 11:18:33   作者:張文琪2022  
這篇文章主要介紹了SpringBoot中HttpSessionListener的簡單使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

HttpSessionListener的使用方式

session監(jiān)聽實現(xiàn)類

import org.springframework.stereotype.Component;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
@Component
public class MySessionListener implements HttpSessionListener {
? ? @Override
? ? public void sessionCreated(HttpSessionEvent se) {
? ? ?? ?//設置session持續(xù)時間,單位為秒
? ? ? ? se.getSession().setMaxInactiveInterval(10);
? ? ? ? System.out.println("-----------Session已創(chuàng)建------------------");
? ? }
? ? @Override
? ? public void sessionDestroyed(HttpSessionEvent se) {
? ? ? ? String name = (String)se.getSession().getAttribute("name");
? ? ? ? System.out.println("name= "+ name);
? ? ? ? System.out.println("-----------Session已銷毀------------------");
? ? }
}

controller調用

? ? @RequestMapping("/sessionTest")
? ? @ResponseBody
? ? public void sessionTest(HttpServletRequest request){
? ? ? ? request.getSession().setAttribute("name","zwq");
? ? ? ? //銷毀session
? ? ? ? request.getSession().invalidate();
? ? }

注意點:

1、request.getSession(),獲取即創(chuàng)建session,會觸發(fā)session監(jiān)聽實現(xiàn)類中的sessionCreated方法;

2、session過了有效時間或主動使用invalidate方法銷毀,會觸發(fā)session監(jiān)聽實現(xiàn)類中的sessionDestroyed方法;

3、使用監(jiān)聽器一定要確??梢员籹pringboot掃描到并打包成bean,一般來說在監(jiān)聽器實現(xiàn)類前加 @Component注解并保證該類在程序掃描范圍內即可。

注冊HttpSessionListener失效原因

問題描述

監(jiān)聽器:

@WebListener
public class MyHttpSessionListener implements HttpSessionListener {
?? ?/**
?? ? * session創(chuàng)建
?? ? */
?? ?@Override
?? ?public void sessionCreated(HttpSessionEvent e) {
?? ??? ?HttpSession session=e.getSession();
?? ??? ?System.out.println("session創(chuàng)建===ID===="+session.getId());
?? ?}
?? ?/**
?? ? * session銷毀
?? ? */
?? ?@Override
?? ?public void sessionDestroyed(HttpSessionEvent e) {
?? ??? ?HttpSession session=e.getSession();
?? ??? ?System.out.println("銷毀的sessionID===="+session.getId());
?? ?}
}

啟動類上已經加了注解@ServletComponentScan

訪問接口:

@RestController
public class HelloController {
? ? @RequestMapping("/hello")
? ? public String handle01(){
? ? ? ? return "nihao你好";
? ? }
}

這樣寫之后,發(fā)現(xiàn)第一次訪問時,控制臺并不會打印:

System.out.println("session創(chuàng)建===ID===="+session.getId());

原因

在訪問接口時,形參要帶上HttpSession session.

如下:

@RestController
public class HelloController {
? ? @RequestMapping("/hello")
? ? public String handle01(HttpSession session){
? ? ? ? return "nihao你好";
? ? }
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Maven高級的聚合和繼承的實現(xiàn)

    Maven高級的聚合和繼承的實現(xiàn)

    在軟件開發(fā)中,隨著項目規(guī)模的擴大,單個模塊的開發(fā)方式逐漸轉變?yōu)槎嗄K開發(fā),這種方式帶來了項目管理上的挑戰(zhàn),其中最常見的問題是模塊間的依賴管理和版本控制問題,本文就來介紹一下
    2024-10-10
  • java面試常見模式問題---單例模式

    java面試常見模式問題---單例模式

    單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式
    2021-06-06
  • Java實現(xiàn)去掉字符串重復字母的方法示例

    Java實現(xiàn)去掉字符串重復字母的方法示例

    這篇文章主要介紹了Java實現(xiàn)去掉字符串重復字母的方法,涉及java針對字符串的遍歷、判斷、運算等相關操作技巧,需要的朋友可以參考下
    2017-12-12
  • JavaWeb之Filter過濾器詳解

    JavaWeb之Filter過濾器詳解

    本篇文章主要介紹了JavaWeb之Filter過濾器詳解,實例分析了JavaWeb之Filter過濾器的使用技巧,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03
  • 關于批量插入或更新數(shù)據(jù)(MyBatis-plus框架)

    關于批量插入或更新數(shù)據(jù)(MyBatis-plus框架)

    這篇文章主要介紹了關于批量插入或更新數(shù)據(jù)(MyBatis-plus框架),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java精品項目瑞吉外賣之新增菜品與分頁查詢篇

    Java精品項目瑞吉外賣之新增菜品與分頁查詢篇

    這篇文章主要為大家詳細介紹了java精品項目-瑞吉外賣訂餐系統(tǒng),此項目過大,分為多章獨立講解,本篇內容為新增菜品和分頁查詢功能的實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • java中的數(shù)組初始化賦初值方式

    java中的數(shù)組初始化賦初值方式

    這篇文章主要介紹了java中的數(shù)組初始化賦初值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • java?String到底有多長?String超出長度該如何解決

    java?String到底有多長?String超出長度該如何解決

    在Java中,由于字符串常量池的存在,String常量長度限制取決于String常量在常量池中的存儲大小,下面這篇文章主要給大家介紹了關于java?String到底有多長?String超出長度該如何解決的相關資料,需要的朋友可以參考下
    2023-01-01
  • Java中的序列化(Serializable)和反序列化

    Java中的序列化(Serializable)和反序列化

    這篇文章主要介紹了Java中的序列化(Serializable)和反序列化,?JAVA序列化與反序列化就是JAVA對象與一串字節(jié)流之間的相互轉換,?我們在程序中創(chuàng)建的JAVA對象只存在于JVM中,需要的朋友可以參考下
    2023-09-09
  • SpringBoot整合MinIO實現(xiàn)文件存儲系統(tǒng)的代碼示例

    SpringBoot整合MinIO實現(xiàn)文件存儲系統(tǒng)的代碼示例

    在現(xiàn)代的應用程序中,文件存儲和管理是一個常見的需求,MinIO是一個開源的對象存儲系統(tǒng),與Spring?Boot框架結合使用,可以快速構建高性能的文件存儲系統(tǒng),本文將介紹如何使用Spring?Boot和MinIO來實現(xiàn)文件存儲系統(tǒng)
    2023-06-06

最新評論