package cn.newgxu.bbs.web.servlet;
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 javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cn.newgxu.bbs.common.util.HttpUtil;
import cn.newgxu.bbs.common.util.Util;
import cn.newgxu.bbs.service.StatisticService;
/**
*
* @author polly
* @since 4.0.0
* @version $Revision 1.1$
*/
public class HitsCounterFilter implements Filter {
private static final Log log = LogFactory.getLog(AutoLoginFilter.class);
protected FilterConfig filterConfig;
//加的静态化
StatisticService statisticService;
public void destroy() {
filterConfig = null;
}
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
int forumId = HttpUtil.getIntParameter(request, "forumId");
statisticService.addHit(forumId);
if (log.isDebugEnabled()) {
log.debug("forumId :" + forumId + ", 计数加1");
}
//StaticService.index();
chain.doFilter(servletRequest, servletResponse);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
statisticService = (StatisticService) Util.getBean("statisticService");
}
}