zoukankan      html  css  js  c++  java
  • SSH实现登陆拦截器

    /**
     * 登录验证拦截器
     *
     */
    @SuppressWarnings("serial")
    public class LoginInteceptor implements Interceptor {
    
        @Override
        public void destroy() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void init() {
            // TODO Auto-generated method stub
    
        }
    
        /**每次访问Action类之前,先执行intercept方法*/
        @Override
        public String intercept(ActionInvocation invocation) throws Exception {
            //获取当前访问Action的URL
            String actionName = invocation.getProxy().getActionName();
            //如果当前访问Action的URL是"loginAction_login"(根据自己写的来定)表示此时还没有Sesion,需要放行
            if(!"loginAction_login".equals(actionName)){
                //从Session中获取当前用户对象
                Employee employee = SessionContext.get();
                //如果Session不存在,跳转到登录页面
                if(employee==null){
                    return "login";//这个login已经在struts.xml的全局结果视图中配置了
                }
            }
            //放行,访问Action类中方法
            return invocation.invoke();
            
        }
    
    }

    struts.xml中相关配置:

    <!-- 拦截器配置 -->
            <interceptors>
                <!-- 定义了一个用于拦截器登录的拦截器 -->
                <interceptor name="loginInterceptor" class="cn.itcast.ssh.utils.LoginInteceptor"></interceptor>
                <!-- 定义一个拦截器栈 -->
                <interceptor-stack name="systemStack">
                    <interceptor-ref name="defaultStack" />
                    <interceptor-ref name="loginInterceptor" />
                </interceptor-stack>
            </interceptors>
        
              <!-- 定义系统默认拦截器 全局 -->
            <default-interceptor-ref name="systemStack" /> 
            <!-- 全局结果视图 -->
            <global-results>
                <result name="login" type="redirect">
                    login.jsp
                </result>
            </global-results>

    就这样拦截器就实现了

  • 相关阅读:
    别人走的路-1
    抽象类跟接口的区别
    一个类实现多个接口的demo
    servlet+jdbc+javabean其实跟ssh差不多
    什么是shell
    设置cookie倒计时让让表单自动提交
    变量、基本数据类型
    编程语言、添加环境变量、变量
    Java优先队列一些问题
    JavaScript学习-JSON
  • 原文地址:https://www.cnblogs.com/ITDreamer/p/9860354.html
Copyright © 2011-2022 走看看