in the below code sessionCreated is working when ever new session is created. but sessionDestroyed is working only if we're invoke session.invalidate(); how can i make it work, in following situations **
1)user closes the browser
2)system poweroff
3)session timeout**
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SesListener implements HttpSessionListener
{
long sttime,endtime;
public void sessionCreated(HttpSessionEvent se)
{
sttime=System.currentTimeMillis();
HttpSession ses=se.getSession();
ServletContext sc=ses.getServletContext();
sc.log("session started at "+new Date());
System.out.println("session started at "+new Date());
}
public void sessionDestroyed(HttpSessionEvent se)
{
endtime=System.currentTimeMillis();
HttpSession ses=se.getSession();
ServletContext sc=ses.getServletContext();
sc.log("session ended at "+new Date());
System.out.println("session ended at "+new Date());
}
}
and my .xml file is
<listener>
<listener-class>SesListener</listener-class>
</listener>