就是你登入之后一段时间没有任何操作。它自动就跳转到登入页面了

解决方案 »

  1.   

    一般都是执行某一操作时,判断Session是否过期,如果过期跳转到登陆页面。如果你要实现某个页面没有操作然后跳转到登陆页面,需要加入倒计时方法。当用户有操作时计时器置初始值。操作完成后开始倒计时,当时间为0时,跳转到登陆页面。
      

  2.   

    写个filter,检测session,如果为空(过期或没有登录都为空),就跳转到登录页面。
      

  3.   

    不再有任何操作Filter,还能检测到session为空吗?我刚开始也是这么做的,不过好像不行
    public class SecurityFilter implements Filter{
    public void doFilter(ServletRequest request,
            ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {     HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse res = (HttpServletResponse) response;
            request.setCharacterEncoding("GBK");
        HttpSession session = req.getSession();
            try{String un=SessionMgr.getUsersSession(req).getUserNO();
             if(un!=null){
             chain.doFilter(req, res);
             }else{
            
              res.sendRedirect("/error.jsp");
             }
            }catch(Exception e){
              res.sendRedirect("/error.jsp");
            }
    } @Override
    public void destroy() {
    // TODO Auto-generated method stub

    } @Override
    public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

    }
      

  4.   


    不再有任何操作,filter当然不会检测到,但是,既然没有任何操作,为什么要显示登录界面呢?肯定是要继续操作才让他重新登录。
      

  5.   

    楼主的想法是不行的 试想一个web都不发请给你,你怎么判断session是否已经过期列??         一般就是用一个Filter  拦截请求,判断session里面的值。。如果过期,重定向到登陆页。。必须要用户执行某一个操作才行。你可以看任何系统,都是这样
      

  6.   


    拦截器 拦截每个对action的访问 session失效重定向到login页面
      

  7.   

    session中的对象没有时就进行跳转到登陆页面,这样当session超时后session中的对象没有就自然的跳转了页面了。
      

  8.   

    public class SecurityFilter implements Filter{
        public void doFilter(ServletRequest request,
                ServletResponse response,
                FilterChain chain)
                throws IOException, ServletException {        HttpServletRequest req = (HttpServletRequest) request;
            HttpServletResponse res = (HttpServletResponse) response;
            request.setCharacterEncoding("GBK");
            HttpSession session = req.getSession();
            try{String un=SessionMgr.getUsersSession(req).getUserNO();
                if(un!=null){
                    chain.doFilter(req, res);
                }else{
            
                 res.sendRedirect("/error.jsp");
                }
            }catch(Exception e){
                 res.sendRedirect("/error.jsp");
            }
        }    @Override
        public void destroy() {
            // TODO Auto-generated method stub
            
        }    @Override
        public void init(FilterConfig arg0) throws ServletException {
            // TODO Auto-generated method stub
            
        }
    这是我写的Filter代码帮我看看怎么不行啊