1.7 拦截
所有 HandlerMapping
实现都支持处理程序拦截器,当您希望将特定功能应用于某些请求 — ,例如,检查主体时,这些处理程序拦截器非常有用。 拦截器必须从 org.springframework.web.servlet
包中实现 HandlerInterceptor
和三个方法,这些方法应该提供足够的灵活性来进行各种预处理和后处理:
preHandle(..)
:在实际处理程序运行之前postHandle(..)
:在处理程序运行之后afterCompletion(..)
:在完整的请求完成之后
preHandle(..)
方法返回一个布尔值。 您可以使用此方法中断或继续执行链的处理。 当此方法返回 true 时,处理程序执行链继续。 当它返回 false 时,DispatcherServlet
假定拦截器本身已经处理了请求(并且,例如,呈现了一个适当的视图)并且不会继续执行其他拦截器和执行链中的实际处理