网络日志数据session案例(下)

编程入门 行业动态 更新时间:2024-10-23 15:25:48

<a href=https://www.elefans.com/category/jswz/34/1630058.html style=网络日志数据session案例(下)"/>

网络日志数据session案例(下)

案例来自www.51doit.com培训班行哥的课程案例

第二问:

将每次session进行汇总,得出用户每次session的浏览起、止页面,每次session会话总时长等,示意如下:

分析:

代码如下:

1 . 新建一个IPBean用来存结果数据:
public class IPBean {
//session号  ip地址    起始请求时间  结束请求时间  起始页面    跳出页面    访问时长private long session;private String ip;private Date startTime;private Date endTime;private String startUrl;private String endUrl;/**访问时长,单位是秒*/private long time;
2 . 得到session汇总的结果
public static void secondQuestion() throws FileNotFoundException, IOException {//将每次session进行汇总,得出用户每次session的浏览起、止页面,每次session会话总时长List<IPBean> list = new ArrayList<>();//将MapMap<String, List<SessionBean>>转成需要的MapMap<Long, List<SessionBean>> sessionMap = getSessionMap();Set<Entry<Long, List<SessionBean>>> entrySet = sessionMap.entrySet();for (Entry<Long, List<SessionBean>> entry : entrySet) {List<SessionBean> value = entry.getValue();//如果value元素只有一个if(value.size()==1) {SessionBean sBean = value.get(0);IPBean ipBean = new IPBean(sBean.getSession(), sBean.getIp(), sBean.getTime(), sBean.getTime(), sBean.getUrl(), sBean.getUrl(), 0);list.add(ipBean);}else {//不止一个SessionBean startBean = value.get(0);SessionBean endBean = value.get(value.size()-1);//时间单位是秒long times = (endBean.getTime().getTime()-startBean.getTime().getTime())/1000;IPBean ipBean = new IPBean(startBean.getSession(), startBean.getIp(), startBean.getTime(), endBean.getTime(), startBean.getUrl(), endBean.getUrl(), times);list.add(ipBean);}}list.forEach(System.out::println);}

更多推荐

网络日志数据session案例(下)

本文发布于:2023-07-28 21:05:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1318638.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网络日志   案例   数据   session

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!