sturts2 自定义拦截器的详解

自定义拦截器 方式 一

实现 接口 Interceptor
拦截器的生命周期(不可能是每个访问都创建一遍 拦截器)

随着程序的开始 而 创建
随着程序的结束 而 销毁

public class Myintercept01  implements  Intercetor{
    //下面 三个都是 生命周期方法

    @Override
    public void init(){

    }
    //拦截方法
    @Override
    public String intercept(ActionInvocation  actionInvocation) throws Exception{
        return "";

    }
    //销毁方法
    @Override
    public void destroy(){


    }

}

自定义拦截器方法 二
继承 AbstractInterceptor

public class Myintercept02 extends AbstractInterceptor{
    @Override
    public  String intercept(ActionInvocation actionInvocation) throws ExceptionP{

    return "";

}

(常用的)自定义过滤器方式三
继承方法 过滤 拦截器 MethodFilterInterceptor

public class Myintercept03 extends MethodFilterInterceptor{
    //拦截方法
    @Override
    protected String doIntercept(ActionInvocation invocation) throws Excetion{
        //前处理
        System.out.prinln("前处理");

        //放心方法
        //所有的拦截器都执行完毕后 会拿到一个字符串
        //这个字符串 就是 action 类 执行完毕后 返回的字符串 

        String result = invocation.invoke();

        //后处理
        System.out.println("后处理");

        return result;
    }
}

配置 自定义拦截器
可以指定 拦截 或者 不拦截 那些方法

public class Demo01Actin
extends ActionSupport{
public String  add();

    return "success";

}

publuic String delete(){
    System.out.println("delete");
    return "success";
}

public String update (){
    System.out.println("update");
    return "success";
}

public  String find(){
    System.out.println("find");
    return "success";
}

配置 struts.xml

<?xml version="1.0" encoding = "UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"
>
<struts>
<package name="inter" namespace ="/" extends ="struts-default">
<!--注册拦截器-->
<interceptors>
<!--注册你自己定义的拦截器-->
<interceptor name="Myintercept03" class = "com.lanou.intercept.Myintercept03"></interceptor>
<!-- 2.注册拦截器栈-->
<interceptor-stack name="myStack">
<!--引入拦截器>
<interceptor-ref name ="Myintercept03">
<!--设置不想拦截的方法 不想 拦截的就写到中间 用逗号隔开>
<parm name ="inexcludeMethods">add,update</param>
</interceptor-ref>
<!-- 除了应用自己的拦截器 还要使用系统默认的拦截器 -->
    <!-- 建议 : 先放自己的拦截器 在放系统的拦截器
    自己写的拦截器 可能会用 到系统的拦截器中的一些功能
     -->
     <!-- 引入系统默认的拦截器栈 -->
     <interceptor-ref name="defaultStack"></interceptor-ref>
    </interceptor-stack>
    </interceptors>

    <!-- 设置默认走的 拦截器是哪个 -->
    <default-interceptor-ref name="myStack"></default-interceptor-ref>

    <!--  配置登录的Action-->
        <action name="Demo01Action_*" class="com.lanoug.intercept.Demo01Action"
            method="{1}">
            <result name="success">/hello.jsp</result>
        </action>

    </package>
</struts>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值