首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

EJB 3.0 跪求高手赐教,该怎么解决

2012-05-13 
EJB 3.0 跪求高手赐教EJB 3.0 拦截器截获的方法 可以重载和重写么?public Object log(InvocationContext c

EJB 3.0 跪求高手赐教
EJB 3.0 拦截器截获的方法 可以重载和重写么?
public Object log(InvocationContext ctx)throws Exception{
if(ctx.getMethod().getName().equals("GetRowSet")){
System.out.println("我拿到这个方法了");
 
}
name=ctx.getMethod().getName();
System.out.println(ctx.getParameters()[0]+"此处是获得GetRowSet方法的第一个参数");
System.out.println(ctx.setParameters(int sql,Object[] params)+"此处是设置参数");
Object o = ctx.proceed();
ctx.proceed();
System.out.println("ctx.getMethod()这个方法无法执行必须在ctx.proceed()中间"); 
if(ctx.getParameters()[0].equals("就不说")){
throw new Exception("哈哈出错了吧");
}
return o;

}

[解决办法]
不可以的。你可以篡改传入参数的值,但方法还是原来的方法。
[解决办法]
估计用这个人不多。
之前一个项目也就用拦截器来记录系统中一些关键的用户动作。
[解决办法]

探讨

哎呀 真是牛人啊。 我发这帖子都没人回不知道为什么!

[解决办法]
探讨
EJB 3.0 拦截器截获的方法 可以重载和重写么?
public Object log(InvocationContext ctx)throws Exception{
if(ctx.getMethod().getName().equals("GetRowSet")){
System.out.println("我拿到这个方法了");

}
name=ctx.getMethod().g……

[解决办法]
都可以,但是重载后可能没有地方调用。除非你自己调用
[解决办法]
不可以的。你可以篡改传入参数的值,但方法还是原来的方法。
[解决办法]
探讨

请问(清风明月) 怎么重载和 重写啊 教教我

热点排行