ServletRequestListener
ServletRequestListener接口能监听每一个request的请求的创建和销毁,用来记录网站的浏览量非常合适,可以按照每一分钟来统计有多少request请求,请求产生的数据技术则可以放在ServletContext全局对象中进行设置和读取
实现requestInitialized()方法
@Override
public void requestInitialized(ServletRequestEvent arg0) {
HttpServletRequest hsr= (HttpServletRequest)arg0.getServletRequest();
//过滤统计请求,避免多计算
String url= hsr.getRequestURL().toString();
if(url.endsWith("/reqt")){
return;
}
//获取ServletContext
ServletContext sc =arg0.getServletContext();
List<String> timelist =(List)sc.getAttribute("timelist");
List<Integer> valuelist =(List)sc.getAttribute("valuelist");
Date now =new Date();
SimpleDateFormat sdf =new SimpleDateFormat("MM-dd HH:mm");
String min= sdf.format(now);
if(timelist.indexOf(min)==-1){//新的一分钟
timelist.add(min);
valuelist.add(1);
sc.setAttribute("timelist", timelist);
sc.setAttribute("valuelist", valuelist);
}else{
int i