package com.baidu.dsp.common.interceptor; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import com.baidu.dsp.common.constant.ErrorCode; import com.baidu.dsp.common.vo.JsonObjectBase; import com.baidu.dsp.common.vo.JsonObjectUtils; import com.github.knightliao.apollo.utils.data.JsonUtils; /** * @author liaoqiqi * @version 2013-11-26 */ public class WebCommonInterceptor extends HandlerInterceptorAdapter { protected static final Logger LOG = LoggerFactory.getLogger(WebCommonInterceptor.class); @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return false; } /** * 自定义的全局错误 * * @param request * @param response * @param message * @param errorCode * * @throws IOException */ protected void returnJsonSystemError(HttpServletRequest request, HttpServletResponse response, String message, ErrorCode errorCode) throws IOException { JsonObjectBase jsonObjectBase = JsonObjectUtils.buildGlobalError(message, errorCode); response.setHeader("Cache-Control", "no-cache"); response.setContentType("application/json;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(JsonUtils.toJson(jsonObjectBase)); } }