sturts2 自定义拦截器的详解

标签: interceptor class
2人阅读 评论(0) 收藏 举报
分类:

自定义拦截器 方式 一

实现 接口 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>
查看评论

struts2中自定义拦截器详解

1:register.jsp String path = request.getContextPath(); String basePath = request.getScheme()...
  • pangqiandou
  • pangqiandou
  • 2016-12-03 23:10:26
  • 908

struts2的一个自定义拦截器小例子

  • 2008年09月19日 22:49
  • 5.54MB
  • 下载

Struts2 自定义拦截器实例—登陆权限验证

实现一个登陆权限验证的功能 message.jsp: message:${message } login.jsp: My JSP 'login.jsp'...
  • work201003
  • work201003
  • 2015-10-13 15:54:37
  • 793

struts2自定义拦截器示例

struts2自定义拦截器示例及步骤解释。
  • jinhao505
  • jinhao505
  • 2014-03-02 22:13:47
  • 3135

SpringMVC 学习笔记(九) 自定义拦截器

Spring MVC也可以使用拦截器对请求进行拦截处理,用户 可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口 ① preHandle():这个方法在业...
  • a67474506
  • a67474506
  • 2015-06-06 19:13:45
  • 997

struts2中自定义拦截器intercept的相关配置及使用方法

使用自定义的拦截器 继承其中的两个类较为方便: MethodFilterInterceptor 该类有两个可以设置是拦截具体方法,这是AbstractInterceptor所不具备的,使用只需要在s...
  • qq_37925891
  • qq_37925891
  • 2017-03-25 22:07:47
  • 320

第一章:struts2认识

  • 2012年02月26日 12:21
  • 2.09MB
  • 下载

自定义SpringMVC自定义拦截器详解

必须实现HandlerInterceptor接口  接口中有3个方法  perHandle () postHandle()  afterCompletion() perHandle()是在处理请求...
  • u012794845
  • u012794845
  • 2016-10-09 10:51:06
  • 1600

springMVC --拦截器详细,使用和自定义拦截器

看看拦截器都做些什么: 1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。 2、权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直...
  • u014034854
  • u014034854
  • 2015-08-02 22:52:08
  • 1997
    个人资料
    持之以恒
    等级:
    访问量: 2542
    积分: 916
    排名: 5万+
    文章存档
    最新评论