java强制退出_java 强制用户退出登录
第一步:自建一个继承自HttpSessionListener的监听器package com.zhph.util;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;/*** session 监听事件* @author HAXF010**/public class Sess.
第一步:自建一个继承自HttpSessionListener的 监听器
package com.zhph.util;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* session 监听事件
* @author HAXF010
*
*/
public class SessionHelper implements HttpSessionListener {
/* Session创建事件 */
public void sessionCreated(HttpSessionEvent event) {
}
/* Session失效事件 */
public void sessionDestroyed(HttpSessionEvent event) {
SessionLockHelper.moveSession(event.getSession());
}
}
第二步:在web.xml中配置第一步创建的监听类 ; SessionHelper 是自己的监听类
com.zhph.util.SessionHelper
第三步:创建工具类 SessionLockHelper.java
package com.zhph.util;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpSession;
import com.zhph.vo.LoginUser;
public class SessionLockHelper {
public static Mapmap = new HashMap();
//添加session到集合;用户的id 作为 session 的 key
public static void putSession(HttpSession session) {
LoginUser user = (LoginUser) session.getAttribute("user");
map.put(user.getId(), session);
}
public static void moveSession(HttpSession session) {
LoginUser user = (LoginUser) session.getAttribute("user");
map.remove(user.getId());
}
//让对应用户的会话失效
public static void destroyedSession(LoginUser user) {
System.out.println("会话失效了。");
HttpSession session = map.get(user.getId());
session.invalidate();
}
}
第四步:当用户登录成功时调用 SessionLockHelper.putSession(HttpSession session)方法
第五步:对于要强制注销的用户调用SessionLockHelper.destroyedSession(LoginUser user)方法。
第六步:用户所有的请求的拦截器判断获取到当前用户的Session 都获取不到了,然后代码跳转到登录页面;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)