您的位置:首页 > 编程语言 > Java开发

springMVC的HandlerInterceptor拦截器

2015-10-14 22:25 337 查看
这里做的一个全局拦截器是用来向前端页面发送一个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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: