拦截器获取controller
时间: 2023-09-12 17:10:14 浏览: 71
Struts2拦截器.ppt
好的,您的问题是如何在拦截器中获取Controller的信息。一般来说,拦截器在请求被处理之前会进行拦截,可以获取到请求的相关信息,包括请求的URL、请求的参数等等。但是,要获取Controller的信息,需要使用Spring MVC提供的HandlerInterceptor接口的preHandle方法。在该方法中,可以获取到当前请求所对应的Handler即Controller对象。具体实现可以参考以下代码示例:
```
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if(handler instanceof HandlerMethod){
HandlerMethod handlerMethod = (HandlerMethod)handler;
Class<?> clazz = handlerMethod.getBeanType();
Method method = handlerMethod.getMethod();
System.out.println("拦截到请求,Controller为:" + clazz.getName() + ",方法名为:" + method.getName());
}
return true;
}
}
```
在上述代码中,我们通过判断handler对象是否为HandlerMethod类型来确定是否为Controller。如果是,则可以通过handler对象获取到Controller的Class和Method信息。
阅读全文