Struts2 自定义拦截器

8人阅读 评论(0) 收藏 举报

自定义拦截器

自定义拦截器的三种方式
1. 实现Interceptor接口
2. 存活周期:随程序的开始创建 程序结束销毁
3. 他不会每次访问都创建一个拦截器

public class Demo01 implements Interceptor{

    @Override
    public void init() {
        // TODO Auto-generated method stub

    }

    @Override
    public String intercept(ActionInvocation arg0) throws Exception {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void destroy() {
        // TODO Auto-generated method stub

    }

方式二:
1. 继承AbstractInterceptor类

@Override
    public String intercept(ActionInvocation arg0) throws Exception {
        // TODO Auto-generated method stub
        return null;
    }

方式三(必用)
1. 继承MethodFilterInterceptor 类

@Override
    protected String doIntercept(ActionInvocation invocation) throws Exception {
        // 处理前
        System.out.println("处理前");
        //调用放行方法
        // invoke 是执行完返回来的类
        String invoke = invocation.invoke();
        // 处理后
        System.out.println("处理后");
        return invoke;
    }

写一个测试类 进行测试

/*
     * 配置自定义拦截器
     * 可以指定拦截 哪个 放行哪个
     */

    public String add() {
        System.out.println("add");
        return "success";
    }
    public 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";
    }

配置struts2

    <struts>
       <package name="inter" namespace="/" extends="struts-default">
<action name="Demo01Action_*" class="com.lanou3g.intercept.Demo01Action" method="{1}">
             <result name="success" type="dispatcher">/Hello.jsp</result>
          </action>
       </package>
    </struts>

在page下面配置拦截器

 <interceptors>
      <!--注册自己定义的拦截器  -->
      <!-- 这里写拦截器的类 -->
      <interceptor name="Demo03" class="com.lanou.test.Demo03"></interceptor>
      <!-- 注册拦截器栈 -->
      <interceptor-stack name="myStack">
      <!--放入栈中  -->
      <interceptor-ref name="Demo03">
      <!-- 设置不想拦截的方法 -->
      <param name="excludeMethods">update,find</param>
      </interceptor-ref>
      <!--引用系统的拦截器  -->
      <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
      </interceptors>
      <!-- 设置默认拦截器 -->
      <default-interceptor-ref name="myStack"></default-interceptor-ref>
查看评论

struts2中自定义拦截器详解

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

Struts2 自定义拦截器配置和使用

Struts2中的拦截器是struts2的核心功能之一,不仅提供强大的默认拦截器,还提供了一套自定义拦截器的配置方法。 简单写一下如何自定义一个拦截器并使用: 1.首先要有一个你自己定义的拦截器,实现...
  • kewen303
  • kewen303
  • 2014-02-21 16:31:26
  • 1584

struts2自定义拦截器并配置拦截器使其生效

struts2自定义拦截器并配置拦截器使其生效
  • starjuly
  • starjuly
  • 2016-08-17 23:29:51
  • 3833

struts自定义拦截器的三种方式

struts自定义拦截器 有三种方式: 方式一、实现Interceptor 接口 public interface Interceptor extends Serializable{ ...
  • a1659177869
  • a1659177869
  • 2015-07-02 23:15:30
  • 1092

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

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

struts2自定义拦截器注解配置方法

自定义拦截器:package com.penjing.interceptor;import javax.servlet.http.HttpServletRequest;import net.sf.js...
  • u014655269
  • u014655269
  • 2015-04-19 23:49:02
  • 1902

struts2自定义拦截器示例

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

struts如何自定义一个拦截器?

如何自定义一个拦截器?自定义一个拦截器需要三步:1 自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类。2 在strutx.xml中注册上一步中定义的拦截...
  • sunyadongwanghbjm
  • sunyadongwanghbjm
  • 2007-10-23 17:55:00
  • 4606

利用struts2拦截器加自定义注解实现权限控制

今天结合Java的Annotation和Struts2进行注解拦截器权限控制。 功能需求:添加、查找、删除三个功能,添加、查找功能需进行权限拦截判断,删除功能则不需进行权限拦截判断。 操作流程如下:客...
  • paul342
  • paul342
  • 2016-05-17 15:42:42
  • 2566
    个人资料
    持之以恒
    等级:
    访问量: 405
    积分: 151
    排名: 110万+
    文章分类
    文章存档