使用のHttpSessionListener
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent event) {
// .. event.getSession().getAttribute("xxxx")
event.getSession().setMaxInactiveInterval(5*60);
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
System.out.println("==== Session is destroyed ====");
}
}
web.xml内のレジスタ
<web-app ...>
<listener>
<listener-class>yourpackage.SessionListener</listener-class>
</listener>
</web-app>
またはアプリケーションの初期化中
public class AppInitializer implements WebApplicationInitializer {
//...
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
servletContext.addListener(new SessionListener());
}
//...
}
ありがとう..私はセッションの前に間隔(setMaxInactiveInterval)をカスタマイズする必要がありますセッションタイムアウトのために破棄されています。作成中または破棄後ではありません。 そのようなものはありますか? –
また、 setMaxInactiveInterval(5 * 60)を設定していない場合、web.xmlのデフォルトのタイムアウト(つまり15分)に従いますか? –
@adarshabvその後、インターセプタを使用できます。http://stackoverflow.com/a/12084748/410677 – kuhajeyan