SessionListen的java代码:
package niit;import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;public class SessionListen implements HttpSessionListener,
HttpSessionAttributeListener {
int i=0;
int k=0;
public void attributeAdded(HttpSessionBindingEvent arg0) {
i++;;
System.out.println("--attributeAdded--"+i); } public void attributeRemoved(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub } public void attributeReplaced(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub } public void sessionCreated(HttpSessionEvent arg0) {
k++;;
System.out.println("--sessionCreated--"+k);
} public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub }}sessionListen.jsp页面的代码:
 
  <body>
    <%
     session.setAttribute("a", "b");
     %>
  </body>
问题:
1、同一个sessionListen.jsp,无论刷新几次,都只能在控制台有一个输出,i值不会增加。
2、新开一个窗口,访问sessionListen.jsp,除非前面的窗口关掉,否则i值不会增加。HttpSessionAttributeListener的机制不是每次有session.setAttribute的时候,就触发一次attributeAdded吗?