/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.log4j.Logger;
import com.jinhe.tss.core.Config;
import com.jinhe.tss.core.exception.ExceptionEncoder;
/**
* <p>
* CatchExceptionFilter.java
* </p>
*
* 捕获异常并转换成XML输出
*
*/
public class CatchExceptionFilter implements Filter {
private static Logger log = Logger.getLogger(CatchExceptionFilter.class);
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
try {
chain.doFilter(request, response);
} catch (Exception e) {
ExceptionEncoder.encodeException(response, e); // 捕获异常并转换成XML输出
}
}
public void init(FilterConfig filterConfig) throws ServletException {
log.info("异常处理过滤器初始化完成!appCode=" + Config.getAttribute(Config.APPLICATION_CODE));
}
}