public static <T extends Model> void logout(HttpServletRequest req,
                                                HttpServletResponse response) {
        CookieUser cookie_user = getUserFromCookie(req);
        Requests.deleteCookie(req, response, COOKIE_LOGIN, true);
        // 清理Cache
        if (cookie_user != null) {
            CacheKit.remove(LOGIN_CACHE_SESSION, LOGIN_CACHE_SESSION + cookie_user.getId());
        } else {
            T user = getLoginUser(req);
            if (user != null) {
                CacheKit.remove(LOGIN_CACHE_SESSION,
                        LOGIN_CACHE_SESSION + user.getNumber(StringPool.PK_COLUMN));
            }
        }
        //清除session
        Enumeration<String> em = req.getSession().getAttributeNames();
        while (em.hasMoreElements()) {
            final String key = em.nextElement();
            req.getSession().removeAttribute(key);
        }
        req.getSession().invalidate();
    }
public static <T extends Model> void logout(HttpServletRequest req,
                                                HttpServletResponse response) {
        CookieUser cookie_user = getUserFromCookie(req);
        Requests.deleteCookie(req, response, COOKIE_LOGIN, true);
        
        if (cookie_user != null) {
            CacheKit.remove(LOGIN_CACHE_SESSION, LOGIN_CACHE_SESSION + cookie_user.getId());
        } else {
            T user = getLoginUser(req);
            if (user != null) {
                CacheKit.remove(LOGIN_CACHE_SESSION,
                        LOGIN_CACHE_SESSION + user.getNumber(StringPool.PK_COLUMN));
            }
        }
        
        Enumeration<String> em = req.getSession().getAttributeNames();
        while (em.hasMoreElements()) {
            final String key = em.nextElement();
            req.getSession().removeAttribute(key);
        }
        req.getSession().invalidate();
    }
public static < T extends Model > void logout ( HttpServletRequest req , HttpServletResponse response ) { CookieUser cookie_user = getUserFromCookie ( req ) ; Requests . deleteCookie ( req , response , COOKIE_LOGIN , true ) ; // 清理Cache if ( cookie_user != null ) { CacheKit . remove ( LOGIN_CACHE_SESSION , LOGIN_CACHE_SESSION + cookie_user . getId ( ) ) ; } else { T user = getLoginUser ( req ) ; if ( user != null ) { CacheKit . remove ( LOGIN_CACHE_SESSION , LOGIN_CACHE_SESSION + user . getNumber ( StringPool . PK_COLUMN ) ) ; } } //清除session Enumeration < String > em = req . getSession ( ) . getAttributeNames ( ) ; while ( em . hasMoreElements ( ) ) { final String key = em . nextElement ( ) ; req . getSession ( ) . removeAttribute ( key ) ; } req . getSession ( ) . invalidate ( ) ; }
logout

@param req      http request
@param response http response
logout