分享

java 防刷新 访问量

 一本正经地胡闹 2019-10-10

<%@ page language="java" import="java.util.*,example.Configuration" pageEncoding="UTF-8"%>
<%
 Configuration conf = new Configuration();
 String getSeeesionId = (String) session.getAttribute("sessionId");
 String sessionId = session.getId();
 String visitNum = (String) session.getAttribute("visitNum");
 if (!sessionId.equals(getSeeesionId)) {
  //更新访问数量
  conf.setValue();

  //获取更新后的访问数量
  visitNum = conf.getValue("visitNum");
 }
 session.setAttribute("sessionId", sessionId);
 session.setAttribute("visitNum", visitNum);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>浏览量统计</title>
 </head>
 <body>
  您是第<%=visitNum%>个访问者
 </body>
</html>


RecordCount.java

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class RecordCount 
{
 //使用Properties
 private static Properties pp=new Properties();
 
 public static void writeCount(String path,String count)
 {  
  
  pp.setProperty("count", count); //设置键值对
  try {
   pp.store(new FileOutputStream(path), "");  //写入文件
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 } 
 public static String readCount(String path)
 {

  String count="0";
  File f = new File(path);
  if (!f.exists()) 
  {
   writeCount(path, "0");
  }
  try {
   pp.load(new FileInputStream(path));
   count=pp.getProperty("count");
   
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return count;
 }
 
 
}

jsp 页面:

<%@page import="cn.zgcyx.RecordCount"%>

<body>

<!--在需要的地方插入下面代码-->

<%
   String count = RecordCount.readCount("C:/info1.txt");
   if (session.getAttribute("visit") == null) {
    session.setAttribute("visit", "y");//将未访问设置为访问
    session.setMaxInactiveInterval(60 * 60 * 24);//设置最大时效    单位是秒

    int count1 = Integer.parseInt(count);
    count1 = count1 + 1;
    count = String.valueOf(count1).toString();
    RecordCount.writeCount("C:/info1.txt", count);

   }
  %>

</body>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多