首页 > 代码库 > 监听器
监听器
public class UserListener implements HttpSessionBindingListener { // 不需要在web.xml文件中配置监听器 // 默认的在线人数 public static int ONLINE_NUM = 0; private String name; // 在往session中添加数据的时候 会触发的事件 public void valueBound(HttpSessionBindingEvent event) { System.out.println("进入了 人数+++++++++++++++1"); ONLINE_NUM++; } /** * 01.session失效 session.invalidate() * 02.session超时 * 03.session清除指定属性得到时候,改变属性的时候 */ public void valueUnbound(HttpSessionBindingEvent event) { System.out.println("进入了 人数-----------------1"); ONLINE_NUM--; } // 对应的带参构造方法 public UserListener(String name) { super(); this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
实现了HttpSessionBindingListener接口的类 才能被监听,没有实现这个接口的类是无法被监听器监听的!
需要的界面
<body> <form action="doMain.jsp" method="post"> <input type="text" name="userName"> <button type="submit">提交</button> </form> </body>
<body> <% String userName=request.getParameter("userName"); if(userName==null||userName==""){ //判断用户是否输出数据 response.sendRedirect("login.jsp"); }else{ //有值 UserListener user=new UserListener(userName); System.out.println("应该在触发器之前执行的代码.............."); //触发器开始执行 session.setAttribute("user", user); response.sendRedirect("onLine.jsp"); } %> </body>
<body> <h1>当前在线人数:<%=UserListener.ONLINE_NUM%></h1> <a href="out.jsp">退出登录</a> </body>
<body> <% session.invalidate(); response.sendRedirect("onLine.jsp"); %> </body>
监听器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。