JBuilder2005实战JSP之日志和部署(7)
时间:2007-10-22 来源:不详 作者:林子
37. conn.close();
38. }
39. } catch (SQLException ex)
40. {
41. ex.printStackTrace();
42. }
43. }
44. }
45.
46. public void valueUnbound(HttpSessionBindingEvent event)
47. {
48. Connection conn = null;
49. String sqlStr = " update T_LOGIN_LOG set DT_LONOUT = ? "
50. " where USER_ID=? and DT_LOGIN = ?";
51. try
52. {
53. conn = DBConnection.getConnection();
54. PreparedStatement pStat = conn.prepareStatement(sqlStr);
55. pStat.setString(1, getCurrDatetimeStr());
56. pStat.setString(2, userId);
57. pStat.setString(3, loginDatetime);
58. pStat.executeUpdate();
59.
60. } catch (SQLException e)
61. {
62. throw new RuntimeException(
63. "用户退出日志写入出错");
64. } finally
65. {
66. try
67. {
68. if (conn != null)
69. {
70. conn.close();
71. }
72. } catch (SQLException ex)
73. { copyright dedecms
74. ex.printStackTrace();
75. }
76. }
77. }
78.
79. //获取当前时间字串,以yyyyMMddHHmmss格式返回,如20050505010101
80. private static String getCurrDatetimeStr()
81. {
82. SimpleDate表单at sdf = new SimpleDate表单at("yyyyMMddHHmmss");
83. return sdf.表单at(new Date());
84. }
85. }
valueBound()方法向T_LOGIN_LOG表插入一条登录日志,在valueUnbound()方法中更新日志表的退出时间,此外第80~84行提供了一个获取当前时间串的方法getCurrDatetimeStr(),通过该方法获取登录和退出时间点的时间字符串。
下面通过描述用户登录系统直到退出时所经历的步骤说明程序如何记录用户的登录和退出时间的:
1.用户通过login.jsp输入密码登录后,程序转向switch.jsp控制页面。
2.在switch.jsp中,我们通过session.setAttribute("ses_userBean", userBean)方法将User.java类的对象userBean绑定到session中。
3.此时userBean对象的HttpSessionBindingListener接口方法valueBound()被调用,向T_LOGIN_LOG表插入一条登录日志。
4.switch.jsp转向welcome.jsp页面。
上一篇:jsp文件操作之写入篇 下一篇:JBuilder2005实战JSP之特殊页面(5)
文章评论
共有位Admini5网友发表了评论 查看完整内容