<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    異常攔截器:
    package org.roadway.lm.util;

    import org.apache.log4j.Logger;

    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

    /**
     * 
    @author Huyvanpull
     * 
     
    */
    @SuppressWarnings(
    "serial")
    public class ExceptionInterceptor extends AbstractInterceptor
    {
        
    private Logger logger = Logger.getLogger(ExceptionInterceptor.class);
        
        
    private String interceptorName;
        
        @Override
        
    public String intercept(ActionInvocation invocation) throws Exception
        {
            
    this.logger.debug("進入" + this.getInterceptorName());
            String result 
    = null;
            
    try
            {
                result 
    = invocation.invoke();
            }
            
    catch (Exception exception)
            {
                
    this.logger.error(this.getExceptionInfo(exception));
                
    throw exception;
            }
            
    return result;
        }
        
        
    private String getExceptionInfo(Exception exception)
        {
            StringBuffer bExceptionInfo 
    = new StringBuffer();
            bExceptionInfo.append(exception.toString());
            bExceptionInfo.append(
    "\n\t");
            
            StackTraceElement[] stackTraceElements 
    = exception.getStackTrace();
            
    for (int i = 0; i < stackTraceElements.length; i++)
            {
                bExceptionInfo.append(
    "[" + this.getInterceptorName() + ""
                        
    + stackTraceElements[i].toString() + "\n\t");
            }
            
    return bExceptionInfo.toString();
        }
        
        
    public String getInterceptorName()
        {
            
    return interceptorName;
        }
        
        
    public void setInterceptorName(String interceptorName)
        {
            
    this.interceptorName = interceptorName;
        }
        
    }

    登陸檢查攔截器:
    package org.roadway.lm.util;

    import java.util.Map;

    import org.apache.log4j.Logger;
    import org.roadway.lm.po.UserInfo;
    import org.roadway.lm.user.action.UserInfoAction;

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

    /**
     * 
    @author tom_hui
     * 
     
    */
    @SuppressWarnings(
    "serial")
    public class LoginCheckerInterceptor extends AbstractInterceptor
    {
        
    private String userSessionKey = "userInfo";
        
        
    private String isCheckLogin   = "true";
        
        
    private Logger logger         = Logger
                                              .getLogger(LoginCheckerInterceptor.
    class);
        
        @SuppressWarnings(
    "unchecked")
        
    public String intercept(ActionInvocation actionInvocation) throws Exception
        {
            Object action 
    = actionInvocation.getAction();
            
            
    /** 如果設置攔截器不檢查登陸 */
            
    if ("false".equalsIgnoreCase(isCheckLogin))
            {
                actionInvocation.invoke();
            }
            
    /** 如果是登陸Action,放其通行 */
            
    if (action instanceof UserInfoAction)
            {
                
    this.logger.info("登陸Action:" + UserInfoAction.class.getName());
                
    return actionInvocation.invoke();
            }
            
            
    /** 從session中得到UserInfo的信息 */
            Map session 
    = actionInvocation.getInvocationContext().getSession();
            UserInfo userInfo 
    = (UserInfo) session.get(userSessionKey);
            
            
    /** 如果Session中存在UserInfo對象 */
            
    if (userInfo != null)
            {
                
    this.logger.info("用戶" + userInfo.getUserName() + "("
                        
    + userInfo.getUserId() + ")登陸了.");
                
    return actionInvocation.invoke();
                
            }
            
    /** 如果沒有登陸 */
            
    else
            {
                
    return Action.LOGIN;
            }
        }
        
        
    public String getUserSessionKey()
        {
            
    return userSessionKey;
        }
        
        
    public void setUserSessionKey(String userSessionKey)
        {
            
    this.userSessionKey = userSessionKey;
        }
        
        
    public String getIsCheckLogin()
        {
            
    return isCheckLogin;
        }
        
        
    public void setIsCheckLogin(String isCheckLogin)
        {
            
    this.isCheckLogin = isCheckLogin;
        }
        
    }


    posted on 2008-10-28 09:26 HUIKK 閱讀(1774) 評論(0)  編輯  收藏 所屬分類: Struts
    主站蜘蛛池模板: 好男人看视频免费2019中文| h视频在线观看免费完整版| 成人男女网18免费视频| 亚洲精品视频免费看| 1000部拍拍拍18勿入免费凤凰福利| 亚洲AV日韩AV永久无码久久| 国产啪精品视频网站免费尤物| 亚洲无码高清在线观看| www成人免费观看网站| 亚洲欧洲日产国码无码久久99 | 中文字字幕在线高清免费电影| 亚洲精品tv久久久久久久久久| 黄色免费在线网址| 亚洲毛片av日韩av无码| 久久成人永久免费播放| 亚洲AV日韩AV永久无码免下载| 91精品免费久久久久久久久| 亚洲乱人伦精品图片| 免费看大美女大黄大色| 人人爽人人爽人人片A免费| 狠狠综合久久综合88亚洲| 久久免费高清视频| 亚洲1区1区3区4区产品乱码芒果 | 成人黄软件网18免费下载成人黄18免费视频| 亚洲一级片在线播放| 免费无码又爽又刺激毛片| 一区二区视频免费观看| 亚洲宅男永久在线| 免费毛片在线视频| jizz免费观看| 亚洲国产日产无码精品| 免费观看四虎精品国产永久| 国产一精品一av一免费爽爽| 亚洲jjzzjjzz在线播放| 又大又硬又爽免费视频| 99久热只有精品视频免费看| 亚洲精品久久无码av片俺去也| 激情综合色五月丁香六月亚洲| 日韩欧美一区二区三区免费观看| 大片免费观看92在线视频线视频| 亚洲网址在线观看你懂的|