拦截器(实现HandlerInterceptor接口)此接口有三个方法:
/**
* DispatcherServlet收到请求后会先调用preHandle()方法
* 若返回值为true则继续执行,若返回值为flase则**将此请求拦截,中断执行
* 此方法第三个参数为描述对应Controller中方法的对象
*/
public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object obj){
return true;
}
/**
* 对应Controller的方法执行完毕之后返回前端控制器之前会调用postHandle()方法
* 在此方法中可修改返回结果,甚至可以修改返回的视图
*/
public void postHandle(HttpServletRequest request,HttpServletResponse response,ModelAndView model){
}
/**
* 最后执行的方法(只有在preHandle()返回值为true时才会执行)
* 此方法第三个参数为描述对应Controller中方法的对象
* 此方法第四个参数为异常(Exception)对象(用于处理Controller抛出的异常)
*/
public void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object obj,Exception exception){
}
网友评论