import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView;
import com.mtf.vega.controller.BaseController;
/**
* 响应编码拦截器
*/
public class RequestResponseInterceptor implements HandlerInterceptor {
private static final Log logger = LogFactory.getLog(RequestResponseInterceptor.class);
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object object, Exception exception) throws Exception {
if (object instanceof BaseController) {
BaseController bc = (BaseController) object;
bc.removeRequest();
bc.removeResponse();
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object object, ModelAndView modelAndView) throws Exception {
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception {
BaseController controller = null;
if (object instanceof HandlerMethod) { // <mvc:annotation-driven />
HandlerMethod hm = (HandlerMethod) object;
Object bean = hm.getBean();
if (bean != null && bean instanceof BaseController) {
controller = (BaseController) bean;
}
} else if (object instanceof BaseController) {
controller = (BaseController) object;
}
if (controller != null) {
controller.setRequest(request);
controller.setResponse(response);
}
return true;
}
}
RequestResponseInterceptor
最新推荐文章于 2024-08-23 22:39:09 发布