【发布时间】:2012-08-08 11:25:09
【问题描述】:
当用户会话过期时,如何使用 java 更新数据库行? 这种情况包括 1.用户没有点击任何注销按钮 2.如果自动浏览器关闭。 3.系统直接断电情况。
所以,在这些情况下,如何更新数据库行。现在我在注销点击条件时使用以下代码
Connection con = (Connection) new DB2Connection().getDatabaseConnection();
if(request.getParameter("flrmdn") != null)
{
String s1=request.getParameter("flrcaf");
String s2=request.getParameter("flrmdn");
String sql1="update table2 set FLRReference=0 where CAF='"+s1+"' and MDN='"+s2+"' and FLRReference=1 ";
Statement st1=con.createStatement();
int vupdate=st1.executeUpdate(sql1);
}
else if(request.getParameter("indexmdn") != null)
{
String indexcaf=request.getParameter("indexcaf");
String indexmdn=request.getParameter("indexmdn");
String sql="update table set IndexReference=0 where CAF='"+indexcaf+"' and MDN='"+indexmdn+"' and IndexReference=1 ";
Statement st=con.createStatement();
int entryrows=st.executeUpdate(sql);
}
// Redirecting user to actual required page
if(request.getParameter("location").equalsIgnoreCase("login"))
{
response.sendRedirect("login.jsp?logout=true");
}
我使用过 httpsessionlistner()、sessioncreated()、sessiondistroyed(),但其中 sessioncreated 会被自动调用,但 sessiondistroyed 不会在会话过期时被调用
【问题讨论】:
-
你怎么知道 sessionDestroyed() 没有被调用?
-
我对 sessioncreated 和 sessiondistroyed 都使用了控制台消息。但是每次都会打印 sessioncreated msg,如果发生新登录,但同时 sessiondistroyed 没有打印 System.out.println 消息, (在 sessiondistroyed 中使用。)
标签: java database jsp servlets