HandlerInterceptorAdapter 学习

HandlerInterceptorAdapter一般用于:用户是否登录,权限设置,日志记录等。

该类有三个方法。

preHandle,postHandle,afterCompletion


public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)     
        throws Exception {     
        return true;    

    }     
    public void postHandle(     
            HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)     
            throws Exception {     
    }     
    public void afterCompletion(     
            HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)     
            throws Exception {     
    }

afterCompletion 可以根据ex是否为null判断是否发生了异常,进行日志记录。

1.如果基于xml配置使用Spring MVC,
可以利用SimpleUrlHandlerMapping、BeanNameUrlHandlerMapping进行Url映射(相当于struts的path映射)和拦截请求(注入interceptors),
2.如果基于注解使用Spring MVC,可以使用DefaultAnnotationHandlerMapping注入interceptors。

eg:<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

注意无论基于xml还是基于注解,HandlerMapping bean都是需要在xml中配置的。 

其中参数handler可以获取到method并通过method获取方法的注解。

eg:

HandlerMethod handlerMethod = (HandlerMethod) handler;
Method method = handlerMethod.getMethod();


/* 获得注入内容 */
Token annotation = method.getAnnotation(Token.class);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值