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>
分享到:
相关推荐
3. **`Session`对象**:在`framemarker`中,`Session`对象代表了服务器端的会话。它可以存储任意类型的数据,如用户信息、购物车内容等。在Java Web应用中,`HttpSession`接口是常用的会话管理对象,可以通过`...
另外,我们需要提供一个登出功能,清除Session中的用户信息。 ```jsp <% session.setMaxInactiveInterval(3600); // 设置1小时后Session过期 %> 登出 // logout.jsp session.removeAttribute("currentUser"); ...
本项目聚焦于在线人数统计以及对数据库中表的CRUD(创建、读取、更新、删除)操作,这些都是Web开发中的核心功能。 首先,我们要理解在线人数统计的基本原理。在Asp.Net中,可以通过跟踪会话(Session)或Cookie来...
Session 对象主要作用是网页计数、在 web 页面中传递数据。Session 语法格式: * 赋值:Session(“键名”)=值; * 取值:变量= Session(“键名”) 或 变量= Session.Item(“键名”)。 * 清除值:Session.Remove(...
开发者可能使用PreparedStatement对象执行SQL语句,实现对数据的增删改查操作。 4. **Session**: Session是Web应用程序中的一种会话管理技术,用于在多个请求之间保持用户的上下文信息。在这个项目中,当用户成功...
这个SQL脚本包含了创建表结构、初始化数据或者执行其他数据库操作的语句。通常,数据库表会包含字段如姓名、电话、邮箱等,以便存储联系人的详细信息。 2. Servlet与JSP:Java Web应用中,Servlet是服务器端的Java...
3. Session:会话对象,提供了与数据库交互的主要接口,负责持久化操作,如保存、更新、删除和查询对象。 4. Transaction:事务管理,处理数据库的ACID属性,确保数据的一致性。 5. Query和Criteria:提供SQL语句的...
1) Session 和 Application:在Web开发中,Session和Application都是用来在用户会话之间存储数据的机制。Session用于存储特定用户的数据,当用户关闭浏览器时结束;而Application则存储全局信息,可供所有用户共享,...
会话(Session)是Web开发中非常重要的一个概念,它能够帮助开发者存储用户特定信息,并且在整个用户访问过程中保持这些信息。在无状态的HTTP协议中,会话管理是通过在服务器端生成唯一的标识符(通常是一个会话ID)...
在Java Web中,会话管理通常使用session对象。注销时,将session中的用户标识或登录状态设置为null,从而结束用户会话。 【JDBC】JDBC是Java访问数据库的标准接口,提供了连接数据库、执行SQL语句、处理结果集等...
Django框架在Python Web开发中应用广泛,尤其在处理用户身份验证、持久化用户会话等方面提供了便捷的工具,主要通过cookies和session机制来实现。在Django中,cookies和session的操作是项目开发中不可或缺的技能。...
Django提供了一些内置的方法来保证session的安全性,例如在用户登录时生成安全的session key,并在用户登出时清除session数据。此外,还可以对session数据的过期时间进行设置,以防止用户的会话被无限期保存。 知识...
在这个项目中,JDBC被用来建立与数据库的连接,执行查询、插入、更新和删除等操作。通常涉及步骤包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL语句和处理结果集。 `Session`是HTTP协议无...
每个`HttpSession`都有一个生命周期,当用户关闭浏览器、手动清除session或者服务器达到预设的超时时,session会失效。默认情况下,session的超时时间为30分钟,但可以通过在web.xml配置文件中设置`<session-config>...
3.4 退出:用户在任何时候都可以选择退出系统,清除会话,结束当前登录状态。 总结,这个Web课程设计着重于构建一个实用的个人信息管理系统,通过JSP技术和数据库访问技术实现增删改查功能,配合B/S架构提供友好的...
它通过ORM(对象关系映射)技术,将Java对象与数据库表进行映射,使得开发者能以面向对象的方式来处理数据库操作,而无需关注底层SQL语句。在这个小程序中,Hibernate可能被用来创建、查询、更新和删除数据库中的...
至于“退出登录”,只需清除session中的用户信息,或者设置session失效,就可以使用户返回未登录状态。在JSP中,可以使用session.invalidate()方法来实现这一点。 最后,"通过模态窗实现登录修改"是指在网页上弹出...
直接使用JDBC API进行批量更新和删除操作时,需要通过Hibernate的`Session`对象获取底层的数据库连接(`Connection`),然后创建`PreparedStatement`对象执行SQL语句。虽然这样做可以直接操作数据库,提高了操作的...
2. **SQL语句构造**:根据不同的操作(如添加、清除、删除商品),构造相应的SQL语句。 3. **执行SQL**:使用`bka.executeQuery(sql)`执行SQL语句,其中`bka`是一个预定义的`shop.bka`类的实例,用于执行数据库操作...
开发者只需定义实体类,配置Hibernate的映射文件(如.hbm.xml),并使用SessionFactory创建Session,通过Session执行CRUD操作。 Struts2是Action-based MVC(Model-View-Controller)框架,它负责处理HTTP请求,...