使用过滤器实现网站访问计数器的功能
创建过滤器类:
public class CountFilter implements Filter {
private int count;//访问数量
//初始化
@Override
public void init (FilterConfig config) throws ServletException{
//获取初始化数量
String param = filterConfig.getInitParameter(“count”);
count = Integer.valueOf(param);
}
@Override
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException ,ServletException{
//访问数据自增
count++;
//将ServletRequest转换为HttpServletRequest
HttpServletRequest req = (HttpServletRequest)request;
//获取ServletContext (Application)
ServletContext context=req.getSession().getServletContext();
//将来访数量值放入到ServletContext中
context.setAttribute(“count”,count);
//向下传递过滤器
chain.doFilter(request, response);
}
@Override
public void destory(){
}
}
在web.xml中配置过滤器
<filter>
<filter-name>countfilter</filter>
<filter-class>com.filter.CountFilter</filter-class>
<!--设置初始化参数 -->
<init-param>
<param-name>count</param-name>
<param-value>5000</param-value>
</init-param>
<filter>
<filter-mapping>
<filter-name>countfilter</filter>
<url-pattern>/index.jsp</url-pattern>
<filter-mapping>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。