TargerInterface:(目标接口,定义方法)
package com.interceptor;
public interface TargerInterface {
public void doSomething();
}
Target:(目标类,实现方法)
package com.interceptor;
public class Target implements TargerInterface {
public void doSomething() {
System.out.println("do something in Target class...");
}
}
Interceptor:(拦截器类,写拦截前后需要处理的方法)
package com.interceptor;
public class Interceptor {
public void before(){
System.out.println("before...");
}
public void after(){
System.out.println("after...");
}
}
MyHandler:(反射处理,将目标和拦截关联起来,这里开始耦合)
package com.interceptor;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class MyHandler implements InvocationHandler {
private Object object;
private Interceptor interceptor = new Interceptor();
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result = null;
interceptor.before();
result = method.invoke(object, args);
interceptor.after();
return result;
}
public void setObject(Object object) {
this.object = object;
}
}
MyProxy:(代理类,实现反射加载)
package com.interceptor;
import java.lang.reflect.Proxy;
public class MyProxy {
public Object getProxy(Object object){
MyHandler myHandler = new MyHandler();
myHandler.setObject(object);
return Proxy.newProxyInstance(Target.class.getClassLoader(), object.getClass().getInterfaces(), myHandler);
}
}
Client:(测试类)
package com.interceptor;
public class Client {
public static void main(String[] args) {
TargerInterface target = new Target();
MyProxy myProxy = new MyProxy();
TargerInterface proxy = (TargerInterface)myProxy.getProxy(target);
proxy.doSomething();
}
}
注意分析每个类之间的关系,理解反射与代理
分享到:
相关推荐
Struts2拦截器(Interceptor) Struts2拦截器(Interceptor)
模拟Struts2拦截器代码,模拟struts2拦截器的实现
Struts2拦截器实现权限控制demo,我感觉对初学者还是有一定帮助的
Struts2拦截器.ppt Struts2拦截器.ppt Struts2拦截器.ppt
struts2,Interceptor struts2拦截器实例,两套实例,一套是针对单个的action配置的,另一套实例是针对全局的action配置的拦截器interceptor
Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序
关于struts2 拦截器的详细的解释及其在开发中对struts2的拦截器的应用和拦截器在框架中的作用.
使用struts的拦截器拦截一些敏感性的词或一些非法或不文秘的言论
struts2拦截器应用小例子,与大家共分享
基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截
NULL 博文链接:https://cmexico.iteye.com/blog/621208
struts2拦截器的使用说明文档,配置说明文档。可以看一下
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.
Struts2的核心,拦截器的应用!!!
Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的 拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器 三、定义Struts2拦截器。 ...
使用Struts2实现用户权限拦截、重点是掌握拦截器的使用和配置方法,通过案例的学习,就能掌握struts中拦截器的使用方法,让我们能快速上手
创建自己struts2拦截器,手工创建自己的拦截器实现
struts2拦截器和国际化教材源文件供大家学习
Struts2拦截器原理分析实例 博文链接:https://zmx.iteye.com/blog/457432