这里做的一个全局拦截器是用来向前端页面发送一个BasePath,就是jsp的那个basepath。因为当时项目用的是ftl作为前端模板,所以需要用到这个拦截器
/**
* @author Beldon
*/
@Component
public class GlobalInterceptor implements HandlerInterceptor {
//Controller 方法调用之前执行
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
return true;
}
//Controller 方法调用之后执行
public void postHandle(HttpServletRequest request,
HttpServletResponse response Object handler,
ModelAndView modelAndView) throws Exception {
if (null == modelAndView) {
return;
}
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
//网站basePath
modelAndView.addObject("BASE_PATH", basePath);
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)throws Exception {
// TODO Auto-generated method stub
}
}
使用拦截器需要在spring的配置文件中配置
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="gdut.ecms.interceptor.GlobalInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>