已采纳回答 / 超级无敌战士之贪财宝宝
你说的userName,是指的是userNumber吧?服务器启动时会创建唯一的 MyHttpSessionListener 对象,所有的session 创建和销毁都会走这个对象里的两个方法, userNumber 是一个全局属性,变量 userNumber 和 ServletContext中的 userNumber是同步的。所以不用多此一举。<...code...>
2016-08-27
<h1>当前在线人数:${usernum}</h1>
当前在线人数:<%=request.getSession().getServletContext().getAttribute("usernum")%>
当前在线人数:<%=request.getSession().getServletContext().getAttribute("usernum")%>
2016-08-27
最新回答 / 带着天使反上帝
ServletContext中的getAttribute("userList"),这里获取的是上下文对象的一个名叫userList的属性,它相当于一个全局的变量,我们定义的ArrayList<User> userList 存储在这个属性中才能在整个Web程序中来访问。
2016-08-18
------------------------续------------------------
要让在线人数和ip那些信息一样,只要刷新浏览器就更新,应该也把在线人数放在上下文对象arg0.getSession().getServletContext().setAttribute("onlineCount", onlineCount);这样传递出去。
要让在线人数和ip那些信息一样,只要刷新浏览器就更新,应该也把在线人数放在上下文对象arg0.getSession().getServletContext().setAttribute("onlineCount", onlineCount);这样传递出去。
2016-08-17
还有个问题,需要完善一下,如果用session传递在线人数时,即arg0.getSession().setAttribute("onlineCount", onlineCount);这样的话,在每个浏览器访问以后,本浏览器看到的在线人数就定了,即使有别的客户端增加,在自己浏览器上看到的也是第一次进来时的在线人数,因为是通过sessionid来获取在线人数的,如果此浏览器的sessionid没销毁,那么这个浏览器本次session有效时间内访问的在线人数将不会变化。
2016-08-17