下面是我的一个listener:-------------------------------
package mypackage;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSession;public class countlistener implements javax.servlet.http.HttpSessionListener
{
private HttpSession session = null;
int count;
public void sessionCreated(HttpSessionEvent event)
{
count=count+1;
session = event.getSession();
ServletContext sc=session.getServletContext();
sc.setAttribute("c",new Integer(count));
}
public void sessionDestroyed(HttpSessionEvent event)
{
session = event.getSession();
}
}
它的作用是每次创建一个新会话,count加1,然后赋给容器的属性c,然后在其他的页面里把这个属性值取出来显示出来,第一次创建会话后,属性c的值为1,这没有问题,可之后不管创建多少个新会话,属性c的值始终是1,这是为什么啊,?? 郁闷死了
大家出出注意啊...
package mypackage;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSession;public class countlistener implements javax.servlet.http.HttpSessionListener
{
private HttpSession session = null;
int count;
public void sessionCreated(HttpSessionEvent event)
{
count=count+1;
session = event.getSession();
ServletContext sc=session.getServletContext();
sc.setAttribute("c",new Integer(count));
}
public void sessionDestroyed(HttpSessionEvent event)
{
session = event.getSession();
}
}
它的作用是每次创建一个新会话,count加1,然后赋给容器的属性c,然后在其他的页面里把这个属性值取出来显示出来,第一次创建会话后,属性c的值为1,这没有问题,可之后不管创建多少个新会话,属性c的值始终是1,这是为什么啊,?? 郁闷死了
大家出出注意啊...
怎么会是局部变量呢?
还是我的理解有误?
那怎么把count定为全局变量啊?
每次对这个servlet请求都会创建一个 它的新实例,
怎么才可以避免这种情况啊???????????????????????????????????
怎么才能让我的变量c在每创建一次会话之后不断加1呢?/