-
按监听的事件划分查看全部
-
监听域对象自身的创建和销毁的事件监听器查看全部
-
监听器的分类:按监听的事件划分查看全部
-
监听器分类:按照监听的对象划分查看全部
-
多个监听器,按照注册顺序启动。监听器、过滤器、Serlvet同时存在的加载顺序:监听器、过滤器、Serlvet。查看全部
-
监听器标签查看全部
-
@统计在线用户及人数——(下) @MyServletRequestListener.java @WebListener public class MyServletRequestListener implements ServletRequestListener { private ArrayList<User> userList;//在线用户List @Override public void requestDestroyed(ServletRequestEvent arg0) { } @Override public void requestInitialized(ServletRequestEvent arg0) { userList = (ArrayList<User>)arg0.getServletContext().getAttribute("userList"); if(userList==null) userList = new ArrayList<User>(); HttpServletRequest request = (HttpServletRequest) arg0.getServletRequest(); String sessionIdString = request.getSession().getId(); if(SessionUtil.getUserBySessionId(userList,sessionIdString)==null){ User user = new User(); user.setSessionIdString(sessionIdString); user.setFirstTimeString(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); user.setIpString(request.getRemoteAddr()); userList.add(user); } arg0.getServletContext().setAttribute("userList", userList); } }查看全部
-
@统计在线用户及人数——(中) @MyHttpSessionListener.java @WebListener public class MyHttpSessionListener implements HttpSessionListener { private int userNumber = 0; @Override public void sessionCreated(HttpSessionEvent arg0) { userNumber++; arg0.getSession().getServletContext().setAttribute("userNumber", userNumber); } @Override public void sessionDestroyed(HttpSessionEvent arg0) { userNumber--; arg0.getSession().getServletContext().setAttribute("userNumber", userNumber); ArrayList<User> userList = null;//在线用户List userList = (ArrayList<User>)arg0.getSession().getServletContext().getAttribute("userList"); if(SessionUtil.getUserBySessionId(userList, arg0.getSession().getId())!=null){ userList.remove(SessionUtil.getUserBySessionId(userList, arg0.getSession().getId())); } } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
@统计在线用户及人数——(上) @index.jsp 当前在线用户人数:${userNumber} <hr> <% ArrayList<User> userList = (ArrayList<User>) request.getServletContext().getAttribute("userList"); if (userList != null) { for (int i = 0; i < userList.size(); i++) { User user = userList.get(i); %> IP:<%=user.getIpString()%> <hr> FirstTime:<%=user.getFirstTimeString()%> <hr> SessionId:<%=user.getSessionIdString()%> <hr> <% } } %> @SessionUtil.java public class SessionUtil { public static Object getUserBySessionId(ArrayList<User> userList, String sessionIdString) { for (int i = 0; i < userList.size(); i++) { User user = userList.get(i); if (user.getSessionIdString().equals(sessionIdString)) { return user; } } return null; } } @User.java public class User { private String sessionIdString; private String ipString; private String firstTimeString; //setter、getter... } Ps:session是没有获取IP地址方法,但request有。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
@MyServletContextListener.java @WebListener("This is My Servlet 3.0 Listener") public class MyServletContextListener implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent arg0) { System.out.println("contextDestroyed"); } @Override public void contextInitialized(ServletContextEvent arg0) { System.out.println("contextInitialized"); } } Ps:Tomcat6.0是不行的。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
Session钝化机制查看全部
-
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
举报
0/150
提交
取消