java Source

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  14 Posts :: 24 Stories :: 8 Comments :: 0 Trackbacks
package org.lambdasoft.web.support;

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;

import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.lambdasoft.web.Enviroment;

public class SessionSupport {
    
private SessionSupport() {}
    
    
/**
     * 获取当前用户Session
     * 
     * 
@return httpSession
     
*/
    
public final static HttpSession getSession() {
        
return ServletActionContext.getRequest().getSession();
    }
    
    @SuppressWarnings(
"unchecked")
    
public final static void removeAllSession(HttpSession session) {
        
if(session == null)
            
return;
        Enumeration names 
= session.getAttributeNames();
        
if(names == null)
            
return;
        List
<String> sessionNamesList = new ArrayList<String>();
        
while (names.hasMoreElements()) 
            sessionNamesList.add((String)names.nextElement());
        
for (String sessionName : sessionNamesList) {
            session.removeAttribute(sessionName);
        }
    }
    
    
/**
     * 添加或者更新Session票据信息
     * 
     * 
@param sessionTick
     
*/
    
public final static void updateSessionTick(SessionTick<TickInterface> sessionTick) {
        getSession().removeAttribute(Enviroment.getEnv().getEnv(
"WEB_SESSION_KEY"));
        getSession().setAttribute(Enviroment.getEnv().getEnv(
"WEB_SESSION_KEY"), sessionTick);
    }
    
    
/**
     * 把用户票据加入到Session
     * 
@param account
     
*/
    
public final static void addTickToSession(TickInterface account) {
        SessionTick
<TickInterface> tick = new SessionTick<TickInterface>();
        tick.setAccount(account);
        updateSessionTick(tick);
    }
}


/*
 * SessionTick.java
 * Copyright (C) 2009  <JustinLei@gmail.com>
 *
 *        This program is free software; you can redistribute it and/or modify
 *        it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *     (at your option) any later version.
 *
 *       This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *        GNU General Public License for more details.
 *
 
*/
package org.lambdasoft.web.support;

/**
 * Session Support
 * 
 * 
@author lei.tang (justinlei@gmail.com)
 * @date 
 * 
@version
 
*/
import java.io.Serializable;

public class SessionTick<extends TickInterface> implements Serializable{
    
private static final long serialVersionUID = 1L;
    
private T account = null;
    
    
public SessionTick() {}
    
    
public SessionTick(T account) {
        
this.account = account;
    }
    
    
public T getAccount() {
        
return account;
    }
    
public void setAccount(T account) {
        
this.account = account;
    }
}

package org.lambdasoft.web.support;

public interface TickInterface {
    Long getId();
}
posted on 2009-12-18 16:37 JustinLei 阅读(1481) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: