一、创建方式一,实现Interceptor接口
package com.lanou3g.intercept;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyIntercept1 implements Interceptor {
@Override
public void init () {
}
@Override
public String intercept (ActionInvocation arg0) throws Exception {
return null ;
}
@Override
public void destroy () {
}
}
二、创建方式二,继承AbstractInterceptorL类
package com.lanou3g.intercept;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyIntercept1 implements Interceptor {
@Override
public void init () {
}
@Override
public String intercept (ActionInvocation arg0) throws Exception {
return null ;
}
@Override
public void destroy () {
}
}
三、自定义拦截器方式三–继承方法过滤拦截器MethodFilterInterceptor
类
package com.lanou3g.intercept;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
public class MyIntercept3 extends MethodFilterInterceptor {
@Override
protected String doIntercept (ActionInvocation invocation) throws Exception {
System.out.println("前处理" );
String result = invocation.invoke();
sout("后处理" );
}
}
测试类
package com.lanou3g.intercept;
import com.opensymphony.xwork2.ActionSupport;
public class Demo01 extends ActionSupport {
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" ;
}
}
//配置strues中的拦截器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 >
<constant name ="struts.enable.DynamicMethodInvocation" value ="true" > </constant >
<package name ="inter" namespace ="/" extends ="struts-default" >
<interceptors >
<interceptor name ="MyIntercept3" class ="com.lanou3g.intercept.MyIntercept3" > </interceptor >
<interceptor-stack name ="myStack" >
<interceptor-ref name ="MyIntercept3" >
<param name ="excludeMethods" > add,update</param >
</interceptor-ref >
<interceptor-ref name ="defaultStack" > </interceptor-ref >
</interceptor-stack >
</interceptors >
<default-interceptor-ref name ="myStack" > </default-interceptor-ref >
<action name ="Demo01_*" class ="com.lanou3g.intercept.Demo01" method ="{1}" >
<result name ="success" > /hello.jsp</result >
</action >
</package >
</struts >
jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html >
<head >
<meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" >
<title > Insert title here</title >
</head >
<body >
Hello word!!
</body >
</html >