web 程序中删除当前用户的一系列操作在session失效之前执行
需要创建一个sessionLisenter 监听类 来监听当前客户端的session
package com.zlkj.pub;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.zlkj.dagl.bean.DrvVerifyTempInfo;
import com.zlkj.dagl.bean.VehVerifyTempInfo;
import com.zlkj.dagl.services.AmendArchivesService;
import com.zlkj.dagl.services.VerifyArchivesService;
import com.zlkj.frmwork.bean.UserSession;
import com.zlkj.pub.database.ExcuteResult;
public class SessionListener implements HttpSessionListener{
/**
* 执行创建
*/
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("=======================狼来了!!!!");
}
/**
* 执行销毁
*/
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
// TODO Auto-generated method stub
//得取Session
// ServletContext servletContext = httpSessionEvent.getSession().getServletContext();
HttpSession servletContext = httpSessionEvent.getSession();
UserSession userSession = (UserSession) servletContext.getAttribute("userSession");
synchronized (this) {
System.out.println("用户是"+userSession);
if(userSession != null && !"".equals(userSession)){
String yhdh = userSession.getUser().getYhdh();
//System.err.println("sessionId="+yhdh);
//获取applicationContext上下文
WebApplicationContext webApplicationContext= WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext.getServletContext());
//获取审核
VerifyArchivesService verifyArchivesService = (VerifyArchivesService) webApplicationContext.getBean("verifyArchivesService");
ExcuteResult resultDrv = verifyArchivesService.deleteAllObjectVerifyTempInfo(new DrvVerifyTempInfo("",yhdh), "drvVerifyTempInfo");
ExcuteResult resultVeh = verifyArchivesService.deleteAllObjectVerifyTempInfo(new VehVerifyTempInfo("",yhdh), "vehVerifyTempInfo");
}
}
}
}
web.xml中的配置需要配置的监听
<!-- session失效监听 -->
<listener>
<listener-class>
com.zlkj.pub.SessionListener
</listener-class>
</listener>
<!--设置失效时间 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
绝对可以的 本人亲试了呵呵!希望您能用上哈<wbr></wbr>
分享到:
相关推荐
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...
方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...
03 ORM多表操作之一对多查询之对象查询 04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第...
谬误03 将Session设置为空就是删除该会话状态 谬误04 RegisterStartupScript方法不能向页面输出文本 谬误05 数据绑定表达式会自动计算它的值 谬误06 事件和委托的差别很大 谬误07 Visual C# 8具有的特征Visual Basic...
31. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 16 32. 应用服务器与WEB SERVER的区别? 16 33. BS与CS的联系与区别。 16 34. 启动一个...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
6.7 清除部分或全部数据表中的数据 243 实例159 清空指定数据表中的所有数据 243 实例160 清空指定数据表中的指定数据 245 实例161 批量清空数据表 246 6.8 MYSQL数据库的备份 248 实例162 通过命令模式...