<%@ 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>
|