zoukankan      html  css  js  c++  java
  • strust2拦截器处理Session超时跳转登录页面

    当用户登陆后,session超时后则返回到登陆页面重新登陆。

    为了方便测试,修改session的有效时间

    <session-config>女装品牌排行榜
        <session-timeout>1</session-timeout>
    </session-config>

    自己定义一个拦截器

    package com.zrwt.sjkd.tools;

    import java.util.Map;

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
    import com.sun.org.apache.xerces.internal.impl.Constants;
    import com.zrwt.sjkd.action.LoginAction;

    public class SessionIterceptor extends AbstractInterceptor {

        @Override人人
        public String intercept(ActionInvocation invocation) throws Exception {       
            ActionContext ctx = ActionContext.getContext();  
            Map session = ctx.getSession();  
            Action action = (Action) invocation.getAction();  
            if (action instanceof LoginAction) { 
             //上面的判断是为了过滤登录的Action,如果不判断,登录的Action也会拦截,导致你永远无法登录
                return invocation.invoke();  
            }  
            String userName = (String) session.get("staffId");  
            if (userName == null) {  
                return "index";  
            } else {  
                return invocation.invoke();  
            }  
        }
    }

    配置struts.xml文件

    <!-- 定义一个拦截器 -->  
            <interceptors>  
              
                <interceptor name="sessionout"   class="com.zrwt.sjkd.tools.SessionIterceptor"></interceptor>  
                <!-- 拦截器栈 -->  
                <interceptor-stack name="sjkd">  
                    <interceptor-ref name="defaultStack" />  
                    <interceptor-ref name="sessionout"/>  
                </interceptor-stack>  
            </interceptors>  
                <default-interceptor-ref name="sjkd" />
    //对sjkd包下的所有Action拦截
    配置全局变量
    <global-results>
          <result name="index">/index.jsp</result>
    </global-results>风之境地 java-javascript

    这样配置过后就会起作用了,等你一分钟不对系统做任何操作,当你操作系统的时候,系统会自动跳转到登录页面

  • 相关阅读:
    Bulk insert的用法
    跨服务器与连接不同数据库 不跨服务器连接库存表
    读书笔记(1)
    CSS渲染HTML时的优先级问题
    如何使用as3获得一组不重复的随机数
    flash cs5导出swc到flash builder 4
    转:AS3.0的Dictionary类简介
    转:As3.0中的反射
    Flex 4里的fx、mx以及s命名空间
    yahoo的flash组件
  • 原文地址:https://www.cnblogs.com/sky7034/p/2024563.html
Copyright © 2011-2022 走看看