ejb3 小结3
来源:互联网 发布:衣柜设计软件免费版 编辑:程序博客网 时间:2024/04/28 02:38
这次小结下拦截器
接口
import javax.ejb.Remote;
@Remote
public interface IMan {
String getName();
void qq();
void mm();
String sayHelp();
}
实现:
import javax.ejb.Stateful;
import javax.interceptor.Interceptors;
/**
* 具有聊QQ和泡MM以及求救三个行为的人对象,还有一个用户名属性。
* @author BeanSoft
*/
@Stateful
@Interceptors({FBI.class})
public class Man implements IMan {
private String name = "BeanSoft";
public void qq() {
System.out.println("我在聊QQ");
}
public void mm() {
System.out.println("我在泡MM");
}
public String sayHelp() {
return "救我,我是" + getName();
}
public String getName() {
return name;
}
}
public class FBI {
@AroundInvoke
public Object before(InvocationContext ctx) throws Exception {
Man man = (Man)ctx.getTarget();
System.err.println("FBI 发现" + man.getName() + "即将正在进行 " +
ctx.getMethod().getName() + " 活动。");
// 禁止张三泡MM
if(ctx.getMethod().getName().equals("mm")) {
System.err.println("FBI 将阻止 " + man.getName() + " 泡MM。");
} else if(ctx.getMethod().getName().equals("sayHelp")) {
System.err.println("FBI 将欺骗 " + man.getName() + " 的朋友告诉他们他很好。");
return "我是 " + man.getName() + " ,我现在过的很好。";
} else {
// proceed() 方法将使原来的方法能够继续执行
Object object = ctx.proceed();
System.err.println("FBI 发现" + man.getName() + "已经完成了 " +
ctx.getMethod().getName() + " 活动。");
return object;
}
return null;
}
JSP页面的拦截测试:
<%
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
interceptor.IMan man = (interceptor.IMan) ctx.lookup("Man/remote");
man.qq();
man.mm();
System.out.println(man.sayHelp());
%>
- ejb3 小结3
- ejb3 小结3
- EJB3.0 注释小结
- EJB3.0注释小结
- EJB3.0 注释小结
- ejb3 小结6
- ejb3小结5
- ejb3 学习小结2
- EJB3.0注释小结
- ejb3 学习小结1
- ejb3 学习小结2
- ejb3小结5
- ejb3 小结6
- (转)EJB3.0 注释小结
- (转)EJB3.0 注释小结
- ejb3+weblogic 10的一些小结
- EJB3
- EJB3
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- birt报表中原来可以这样交互
- android service学习一
- 新近发现推荐一个PHP的ORAM开源框架phpdoctrine
- CMM的5个级别
- ejb3 小结3
- android手机安装busybox
- 加水印及缩略图的类
- (转)软件测试中的V模型
- 注意负载测试和压力测试
- (转)JAVA中的内存泄露
- java编程代码规范
- 笔试注意点1
- 左边的数都小于等于它,右边的数都大于等于它