- package listener;
- import javax.servlet.http.HttpSessionEvent;
- import javax.servlet.http.HttpSessionListener;
- public class MySessionListener implements HttpSessionListener {
-
- private int userNum;
-
- @Override
- public void sessionCreated(HttpSessionEvent arg0) {
- userNum++;
- arg0.getSession().setAttribute("userNum", userNum);
- }
-
- @Override
- public void sessionDestroyed(HttpSessionEvent arg0) {
- userNum--;
- arg0.getSession().setAttribute("userNum", userNum);
- }
- }
复制代码 如代码所示,userNum该属性是在类中定义,当一个session的创建和销毁只会影响userNum这个属性?也就是监听器这个类和类中的属性会一直存在吗?
具体而言,userNu并没用通过ServletContext的getAttribute方法获取,而是直接使用的初始化定义的userNum。第二个session创建的时候可以知道userNumber已经有值了,那是不是说监听器的创建和销毁都是在public class MyHttpSessionListener这个类中进行的,而这个类的存在并不受监听器的影响…
|
|