SessionListener失败,退出
配置如下:
web.xml:
<listener>
<listener-class>cn.edu.hbcf.common.listener.SessionListener</listener-class>
</listener>
java类:
SessionListener.java
package cn.edu.hbcf.common.listener; import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener; import cn.edu.hbcf.common.constants.WebConstants;
import cn.edu.hbcf.common.springmvc.SpringContextHolder;
import cn.edu.hbcf.privilege.dao.BaseUserLogMapper;
import cn.edu.hbcf.privilege.pojo.BaseUserLog;
import cn.edu.hbcf.privilege.pojo.BaseUsers; public class SessionListener implements HttpSessionListener { @Override
public void sessionCreated(HttpSessionEvent arg0) {}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
HttpSession session = arg0.getSession();
BaseUsers user = (BaseUsers)session.getAttribute(WebConstants.CURRENT_USER);
String name=user.getAccount();
if(name!=null && name.length()>0){//session失效时候移除记录
if(SessionAttributeListener.sessionMap.containsKey(name)){
BaseUserLogMapper baseUserLogMapper = SpringContextHolder.getBean("baseUserLogMapper");
BaseUserLog log = new BaseUserLog();
log.setLogType(2);
log.setUser(user);
log.setDescription("退出成功");
baseUserLogMapper.insert(log);
SessionAttributeListener.sessionMap.remove(name);
}
}
} }
SessionListener失败,退出的更多相关文章
- YARN 启动后失败退出——没有请求资源——Invalid resource request, no resources request
在ambari-server中修改了yarn的配置,重新启动服务,结果RM启动失败,错误也很奇怪,“不合理的资源请求,没有请求任何资源”!详细如下: -- ::, FATAL resourcemana ...
- aop postsharp的使用:在方法进入/成功/失败/退出时获取方法名和参数值
1.nuget安装postsharp 2.编写attribute标记 [Serializable] [AttributeUsage(AttributeTargets.Method, AllowMult ...
- Job 失败了怎么办?- 每天5分钟玩转 Docker 容器技术(133)
上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢? 修改 myjob.yml,故意引入一个错误: 先删除之前的 Job: 如果将 restartPolicy 设置为 OnFailure 会怎 ...
- Job 失败了怎么办?【转】
上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢? 修改 myjob.yml,故意引入一个错误: 先删除之前的 Job: 如果将 restartPolicy 设置为 OnFailure 会怎 ...
- Shell揭秘——程序退出状态码
程序退出状态码 前言 在本篇文章当中主要给大家介绍一个shell的小知识--状态码.这是当我们的程序退出的时候,子进程会将自己程序的退出码传递给父进程,有时候我们可以利用这一操作做一些进程退出之后的事 ...
- c语言数据结构复习
1)线性表 //顺序存储下线性表的操作实现 #include <stdio.h> #include <stdlib.h> typedef int ElemType; /*线性表 ...
- C#线程入门---转载
C#中的线程(一)入门 文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari, 翻译 Swanky Wu 中 ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 后续——存储引擎
一.引擎基础 1 查看系统支持的存储引擎 show engines; 2 查看表使用的存储引擎两种方法: a.show table status from database_name where na ...
- redis缓存技术学习
1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset ...
随机推荐
- Android获取wifi MAC,关闭的wifi不能获取
最近一直在尝试着在Android上通过ndk用C++获取本机MAC地址,但是用ioctl(SIOCGIFHWADDR)时,一直返回值小于0,即获取不到接口信息.刚开始我以为是自己漏掉了哪些访问权限,所 ...
- 对Emlog 6.0 Beta的完整代码审计过程
Emlog 6.0 beta版本,这可能是最后一篇关于PHP语言CMS的代码审计文章,此次将详细记录完整的审计过程. 文章基本上完整记录小东的对此CMS审计过程,或许显得繁琐,但代码审计的过程就是这样 ...
- jquery元素节点操作
jquery元素节点操作 创建节点 var $div = $('<div>'); var $div2 = $('<div>这是一个div元素</div>'); 插入 ...
- 数据库建模软件ERStudio-表关系建模详解
ERStudio是优秀的数据库建模软件,它不仅可以建立表.视图等模型,还可以建立多表间各种关系的模型,另外还可以根据模型生成表到数据库,下面具体讲解一下它的表关系建模. 1. 首先讲一下怎么建立表关系 ...
- DESede对称加密算法工具类
利用Cipher的核心功能,自己封装了一个加密解密的工具类,可以直接使用.在使用之前需要先下载commons-codec-1.9.jar,并导入项目. 工具类如下: package com.pcict ...
- Spark2-对于Null/Nan的处理
一.几种查找空值的方法 1.Column方法 column.isNull/column.isNotNull/column.isNaN 2.类sql方法 二.na方法 2.1 na.drop方法 2.1 ...
- 在android中画圆形图片的几种办法
在开发中常常会有一些需求,比方显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其它的一些形状. 可是往往我们手上的图片或者从server获取到的图片都是方形的.这时候就须要我们自己进行处理, ...
- 在SVN中打分支
项目开发中一个版本号也许就有几次迭代,而完毕一次迭代或一个版本号时,一般会讨论下一步的计划.是否要增加新东西新技术,内部人员是否有变动,这时须要在管理工具中做一些备份,以防我们接下来即使改动serve ...
- UVA 10441 - Catenyms(欧拉道路)
UVA 10441 - Catenyms 题目链接 题意:给定一些单词,求拼接起来,字典序最小的,注意这里的字典序为一个个单词比过去,并非一个个字母 思路:欧拉回路.利用并查集判联通,然后欧拉道路判定 ...
- 解决tomcat提交的数据乱码的问题
有时,开发过程中会遇到前端传入“中文”并返回时,会出现乱码!主要是因为前端通过tomcat7提交的数据就出现了乱码的问题,也就说根源在于tomcat7. 有2中方案解决该问题: (1)使用tomcat ...