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);
             }
        }
     }

}
时间: 2024-11-06 13:02:27

SessionListener失败,退出的相关文章

Job 失败了怎么办?- 每天5分钟玩转 Docker 容器技术(133)

上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢? 修改 myjob.yml,故意引入一个错误: 先删除之前的 Job: 如果将 restartPolicy 设置为 OnFailure 会怎么样?下面我们实践一下,修改 myjob.yml 后重新启动. 运行新的 Job 并查看状态: 当前 SUCCESSFUL 的 Pod 数量为 0,查看 Pod 的状态: 可以看到有多个 Pod,状态均不正常.kubectl describe pod 查看某个 Pod 的启动日志: 日志显示没有可执

shell脚本分析nginx日志

第一版,比较粗糙,仅限于能用 正在写入的文件不能用tar进行压缩 --------压缩日志---------------------- 94 access.log 95 tar: access.log: file changed as we read it 96 #### 压缩日志失败 #### #!/bin/sh #分析nginx日志 DATE=`date '+%Y%m%d-%H%M'` ARCHIVE=/usr/log_bak/nginx_$DATE.tar.gz MESSAGE=/usr/

Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)

1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约束没有被破坏 持久性:事务的提交结果,将持久保存在数据库中 2.事务并发会产生什么问题 1)第一类丢失更新:在没有事务隔离的情况下,两个事务都同时更新一行数据,但是第二个事务却中途失败退出, 导致对数据的两个修改都失效了. 例如: 张三的工资为5000,事务A中获取工资为5000,事务B获取工资为5

OpenGL学习系列第二篇

在这个教程里,我们一起来玩第一个OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 在CodeBlock里创建一个新的GLUT Win32程序(不是console控制台程序)后,我们还需要链接OpenGL库文件. 代码的前4行包括了我们使用的每个库文件的头文件.如下所示: #include <windows.h>// Windows的头文件 #include <glew.h>       // 包含最新的gl.

hadoop一些常见报错的解决方式

Failed to set setXIncludeAware(true) for parser 遇到此问题通常是jar包冲突的问题. 一种情况是我们向java的lib文件夹加入我们自己的jar包导致hadoop引用jar包的冲突.解决方式就是删除我们自己向系统加入的jar包,又一次配置.将自己的jar包或者外部jar放入系统文件夹会在编译程序时带来方便,可是这不是一种好习惯,我们应该通过改动CLASSPATH的方式指定jar包路径. Cannot lock storage /tmp/hadoop

shiro学习一

main方法代码 package com.java.shiro; import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.config.IniSecurityManagerFactory;import org.apach

初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1

因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来没有用过Linux, 本文章恐有初级错误, 望见谅, 谢谢. (本文写于2017年3月17日) 为了能够利用GPU(NVIDIA GTX1080)运行TensorFlow, 根据调查需要按顺序安装以下内容: Ubuntu, NVIDIA驱动, CUDA, cudnn, TensorFlow 安装Ub

php课程---Ajax(老师详解)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”

问题: 当我用tar命令来创建一个压缩文件时,总在执行过程中失败,并且抛出一个错误说明"tar:由于前一个错误导致失败退出"("Exiting with failure status due to previous errors"). 什么导致这个错误的发生,要如何解决? 当你执行tar命令时,遇到了下面的错误,那么最有可能的原因是对于你想用tar命令压缩的某个文件中,你并不具备其读权限. tar:Exitingwith failure status due to