有时候为了安全起见,需要实现网页长时间不操作,几秒后自动返回首页重新登录功能。这个时候可以使用Struts2定时器与拦截器来实现。步骤如下:
① 在应用程序的web.xml中设置session销毁时间
<!--设置超时时间,1代表1分钟-->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
② 写一个Struts2的自定义拦截器,用来判断session是否已经被销毁。
public class LoginCheckInter extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation arg0) throws Exception {
Map session=ActionContext.getContext().getSession();
Action action = (Action) arg0.getAction();
String username=(String) session.get("username");
//验证session是否过期,如果过期转到对应页面
if(username!=null)
{
//返回继续执行
return arg0.invoke();
}
else
{
//执行全局变量resul