controller:
@Controller
public class TargetController
{
@RequestMapping("/target")
public ModelAndView show()
{
System.out.println("目标函数执行");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("name","苏七");
modelAndView.setViewName("success");
return modelAndView;
}
}
1.
public class MyInterceptor implements HandlerInterceptor
{
//在目标方法执行之前 执行
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{
System.out.println("preHandle");
return false;
}
//在目标方法执行之后 视图返回之前执行
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception
{
modelAndView.addObject("name","哈哈");//可以通过modelAndView对象添加属性
System.out.println("postHandle");
}
//整个流程都执行完毕后 执行
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception
{
System.out.println("afterCompletion");
}
}
2.
<!--配置拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/><!--对哪些资源进行拦截-->
<bean class="interceptor.MyInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
3.