老师我这 访问次数 添加不上去
来源:2-2 请求流量分析统计-开发统计查询Servlet
Ctrlzhao
2019-11-27 23:43:31
package com.imooc.total2;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
public class RequestTotalListener2 implements ServletContextListener,ServletRequestListener{
@Override
public void requestDestroyed(ServletRequestEvent sre) {
// TODO Auto-generated method stub
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
// HttpServletRequest request = (HttpServletRequest)sre.getServletRequest();
// //获取每一次的url地址
// String url = request.getRequestURL().toString();
// if(url.endsWith());
List<String> timeList = (List)sre.getServletContext().getAttribute("timeList");
List<Integer> valueList = (List)sre.getServletContext().getAttribute("valueList");
//获取当前时间
Date date = new Date();
//设置时间格式
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String time = sdf.format(date);
//查找当前时间是否存在
if(timeList.indexOf(time)==-1) {
//追加到列表中
timeList.add(time);
//设置当前时间访问初始值为1
valueList.add(1);
//时间和访问量存回ServletContext中
sre.getServletContext().setAttribute("timeList", timeList);
sre.getServletContext().setAttribute("valueList", valueList);
}else {
//当前时间存在,则访问直接加1
//获取当前时间的索引值,从0开始
int index = timeList.indexOf(time);
//获取访问量
int value = valueList.indexOf(index);
//set()设置指定位置的数据即数据更新
valueList.set(index, value+1);
sre.getServletContext().setAttribute("valueList", valueList);
}
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent sce) {
List timeList = new ArrayList();//时间
List valueList = new ArrayList();//访问量
sce.getServletContext().setAttribute("timeList", timeList);
sce.getServletContext().setAttribute("valueList", valueList);
}
}就是一直是0和1

1回答
好帮手慕柯南
2019-11-28
同学你好!
获取访问量时,应该是直接get(index)获取值,而不是indexOf查看字符串首次出现的位置。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题