我用html页面作为主页跳转页面,
<br> location.href='page_common_index.action';<br>
自定义一个拦截器,验证session中有没有user,如果有,放行,没有跳转登录页面
Object object = ServletActionContext.getRequest().getSession().getAttribute("user");
if(object == null){
return "login";
}
return invocation.invoke();
问题是我登录成功一次,然后清除session,直接访问主页,发现拦截器不起作用,直接能跳转到主页面,这是怎么回事?如果没有登录过,跳转页面没有问题,登录一次,清除session,跳转失效,清除浏览器缓存再试就可以拦截到,这是怎么回事
第一,清除session的代码呢,是否有效;
第二,浏览器的设置,是否有缓存
你打个debug,一步步看下,应该是你代码哪里有问题
你怎么清除session的,怀疑是你没有清除成功,所以导致这样的结果。
1.可能是你退出时候的销毁session时候代码有问题,如果你销毁项目时候,tom仍然启动,所以建议手动停止服务2.设置本地浏览器不要缓存,3.你可以换一个浏览器试试.4,clean项目,重新发布,希望能帮助你
问题解决,是缓存问题,在访问的页面url加个参数,保证唯一,时间戳就可以。