zoukankan      html  css  js  c++  java
  • Struts——自定义拦截器

    设置全局的异常

    自定义拦截器

    public class LoginInterceptor extends MethodFilterInterceptor {  // 为什么要继承这个类,因为他有一个除了...不拦截
        
        protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
    
            // 前处理
            System.out.println("前处理");
    
            // 放行
            actionInvocation.invoke();
    
            // 后处理
            System.out.println("后处理");
    
            return null;
        }
    }

    interceptor配置文件

    <interceptors>
        <!-- 1.注册拦截器 -->
        <interceptor name="loginInterceptor" class="cn.x5456.web.interceptor.LoginInterceptor"></interceptor>
        <!-- 2.注册拦截器栈 -->
        <interceptor-stack name="myStack">  <!-- 给我们的拦截器栈起个名字 -->
            <interceptor-ref name="loginInterceptor">
                <!-- 指定哪些方法不拦截 -->
                <param name="excludeMethods">login</param>
                <!-- 指定哪些方法需要拦截 -->
                <!--<param name="includeMethods">login</param>-->
            </interceptor-ref>
            <interceptor-ref name="defaultStack"></interceptor-ref> <!-- 将官方栈放入我们的栈中 -->
        </interceptor-stack>
    </interceptors>
    <!-- 3.指定包中的默认拦截器栈 -->
    <default-interceptor-ref name="myStack"></default-interceptor-ref>
    

    单独为某个action设置指定的拦截器

    <action name="Demo1Action_*" class="cn.itcast.a_interceptor.Demo1Action" method="{1}" >
    	<!-- 为Action单独指定走哪个拦截器(栈) 
    	<interceptor-ref name="myStack"></interceptor-ref>-->
    	<result name="success" type="dispatcher" >/index.jsp</result>
    </action>
    

    注:拦截器无法拦截直接访问jsp,htm等页面

    定义全局结果集

     判断父界面是否在框架中,不在的话跳转到login.jsp

     

  • 相关阅读:
    实用函数,array_column。从二维数组中获取想要的一位数组。
    解决小程序swiper层级太高问题
    小程序模拟领红包
    小程序,红包弹出层布局
    小程序核销功能
    小程序 text标签中一定 不要换行,不要随便格式化!!!
    小程序动态修改json中的配置
    小程序支付
    docker常用命令
    ssh修改默认端口
  • 原文地址:https://www.cnblogs.com/x54256/p/8480593.html
Copyright © 2011-2022 走看看