JSP统计用户在某一页停留的时间

一.首先我们要写一个javaBean类,我们可以通过此类计算用户停留的时间:
StopTime.java

package exa112;

import java.util.Date;

public class StopTime {
	private int h=0;
	private int m=0;
	private int s=0;
	
	public void conuttime(Date start)
	{
		Date end=new Date();//获得现在时间
		long howmuch=end.getTime()-start.getTime();//将它和开始时间做差
		h=(int)(howmuch/1000/60/60);//计算小时
		howmuch=howmuch-h*60*60*1000;
		m=(int)(howmuch/1000/60);//计算分钟
		howmuch=howmuch-m*60*1000;
		s=(int)(howmuch/1000);//计算秒
	}

	public int getH()
	{
		return h;
	}

    public int getM()
    {
    	return m;
    }
    public int getS()
    {
    	return s;
    }
    

}

二.然后,写jsp文件显示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <%@page import="java.util.*" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="mycounttime" class="exa112.StopTime" scope="page"></jsp:useBean>
<%

session.setMaxInactiveInterval(11);
Date now=new Date();

if(session.isNew())
{
	session.setAttribute("start",now);
}
else{
	mycounttime.conuttime((Date)session.getAttribute("start"));
	
}
%>

<meta http-equiv="refresh" content="10">
<table>
  <tr>
    <td align="center">您登录的时间为:
    <%=((Date)session.getAttribute("start")).toLocaleString()%>//将时间转换为字符串
    </td>
  </tr>
  
  <tr>
    <td>您在本页停留的时间为:<%=mycounttime.getH() %>小时<%=mycounttime.getM() %><%=mycounttime.getS() %></td>
  </tr>

</table>
</body>
</html>

结果:

在这里插入图片描述

发布了73 篇原创文章 · 获赞 1 · 访问量 2433

猜你喜欢

转载自blog.csdn.net/c1776167012/article/details/105203836
今日推荐