用filter来实现:
1.写一个filter类 implements javax.servlet.Filter
  在doFilter中校验登陆信息,具体google一下(其实就几句话啦)
2.web.xml中配置这个filter,以及filtermapping,也 gooooogle
3.设置session timeout 时间
4.登出的时候 session.invalidate()
。。

解决方案 »

  1.   

    首先说,你需要的这个功能不叫屏蔽ie的前进和后退.
    要完成这个功能,只需要在所有的页面里都包含对用户是否登陆的检查(当然,login.jsp里面不能有),如果没有登陆就重定向(这个功能可以做成filter,也可以不做,自己看着办).而且,要设置页面的expire的时间.
      

  2.   

    shenpipi,能不能具体说说,怎么在页面中检查,又怎么重定向?能给个具体的代码吗?我真的很想了解,谢谢
      

  3.   

    response.setHeader("Expire",0); // 立即就失效,再次访问需要重新获取。
    response.setHeader("Pragma","no-cache"); //不缓存页面,
    response.setHeader("Pragma","no-store");// 任何环境都不缓存。没有缓存,他点击 前进 , 后退 就没有意义。
      

  4.   

    humanity(很健忘了),你的方法网上说的很多,但这样做ie依然能够后退、前进,因为ie后退只是一个对客户端cache的操作,而与服务器端无关
      

  5.   

    我觉得这个这么做:
    在login.jsp页面的前部分你写短程序专门用来处理session,用来判断用户是否已经登录,如果已经登录,则就forward->index.jsp
    同理在其他jsp文件的开头都这么处理,用来判断用户是否已经登录,如果没有登录,就转到登录界面,同时还要考虑session time out的问题.
      

  6.   

    response.setHeader("Expire",0); // 立即就失效,再次访问需要重新获取。
    response.setHeader("Pragma","no-cache"); //不缓存页面,
    response.setHeader("Pragma","no-store");// 任何环境都不缓存这些只对https起作用...
      

  7.   

    解决办法很多,楼上兄弟们说的都可行。
    一、
    在login.jsp页面的前部分你写短程序专门用来处理session,用来判断用户是否已经登录,如果已经登录,则就forward->index.jsp
    同理在其他jsp文件的开头都这么处理,用来判断用户是否已经登录,如果没有登录,就转到登录界面,同时还要考虑session time out的问题.二、
    用filter来实现:
    1.写一个filter类 implements javax.servlet.Filter
      在doFilter中校验登陆信息,具体google一下(其实就几句话啦)
    2.web.xml中配置这个filter,以及filtermapping,也 gooooogle
    3.设置session timeout 时间
    4.登出的时候 session.invalidate()
      

  8.   

    shoulders(Developer),ie后退只是一个对客户端cache的操作,而与服务器端无关,我觉得用session根本无法控制ie的后退功能,应为ie后退只是简单的将客户端cache中的页面取出,好像并不再判断session吧?
      

  9.   

    我想问一下,filter是线程安全的吗?是否需要自己在doFilter中控制线程安全?