如何搞定IE的后退按钮,各位大牛帮下忙...我实在不行了

问题如下:

我现在用JSP写一个网站 ,前台有登陆页面login.jsp当用户登陆成功后显示index.jsp 现在问题来了  也就是说用户点击注销登陆后 我把session也清除了.可是如果再点一下IE的后退按钮又能返回到index.jsp
有一种方法是写一个中间页,也就是登陆以后经过中间判断session是否有值 有值就跳转到index.jsp否则就返回login.jsp

这种方法有时候并不能解决问题
我在网上看了好多方法都没解决这个问题, 谁能帮个忙把这个IE后退按钮搞定..

你这个问题和IE的后退没有直接关系,关于IE后退的问题可以看我博客的:
[url]http://ywbanm.iteye.com/blog/341560[/url]

你的问题是没有检查Session是否超时或者被清除,加一个CheckSession的Filter。
Web.xml中加:

[code="java"]
CheckSessionFilter
xxx.CheckSessionFilter


CheckSessionFilter
*.do

[/code]

CheckSessionFilter:
[code="java"]public class CheckSessionFilter implements Filter {

public CheckSessionFilter() {
    super();
}

public void init(FilterConfig filterConfig) throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {    


    HttpSession session = ((HttpServletRequest)request).getSession();

    if (session != null) {
        chain.doFilter(request, response);//session不为空继续执行
        return;
    }

    request.getRequestDispatcher("/login.jsp ").forward(request, response);//session为空跳转到login.jsp 

}

public void destroy() {}

}[/code]

试试写个过滤器怎么样。。

还有就是你没有禁止客户端的缓存,IE不会重新发出请求而是使用Cache的数据,在Jsp中加上:



禁止客户端的缓存。