[Spring Java JSP SSH ] Spring MVC拦截器 如何获得请求的是哪个Controller

se7en8974 2010-11-25

如题,如何在拦截器的方法中得到请求的是哪个Controller类呢,并能调用该Controller的方法。

现在我只能得到请求的Controller类名。

    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2) throws Exception {
        System.out.println("拦截开始:");
        System.out.println("***");
        System.out.println("asdas:"+arg2.getClass().getCanonicalName());
        System.out.println(arg2.getClass().getSimpleName());
        return false;
    }
 
se7en8974 2010-11-25
这个世界没分真是冷漠啊
bubiaiyou 2011-01-11
为什么要用拦截器呢,能说说你的思路么
feiyu86 2011-06-25
context.getBean(“controller”)

这个可以不,没试过获取controller。。。
Rex86lxw 2011-09-20
之前段时间一直都没上,并非无分就会这般冷漠,主要看人吧
虽时隔一年看到了(你必然解决了),但还是说说我的想法...
虽不知你要做什么,看这个方法是调用控制前拦截用的,用反射吧,虽然影响点性能但是非常强大,呵呵
yusheng5273 2012-04-06
可以这样吧,你的目的无非是要在拦截之后,处理一个业务。其实spring推崇的是controller只负责控制转发,能不能把你要执行的业务逻辑写到一个service里面,然后注入到拦截器中,再调用之;
另一个办法,你可以写一个map,把所有的controller中的请求都保存起来。虽然土一点,但个人觉得比反射好多了,
琼海溜 2014-04-29
下面3行代码:
HandlerMethod handlerMethod = (HandlerMethod) handler;
Method method = handlerMethod.getMethod();
Object controller = handlerMethod.getBean();
Global site tag (gtag.js) - Google Analytics