`

jsp 网站访问量

阅读更多

一、这是jsp调用页testcount.jsp

<%@ page import="java.util.Date" %>
<%@ page import="count.CountXml" %>

计算器测试<br>
<%
       CountXml xmlcount=CountXml.getInstance();
  
     if (session.isNew()){
      xmlcount.addcount(new Date());//增加访问量
      int n =xmlcount.getTotalCount();//取总访问量 
      String count=Integer.toString(n);
      session.putValue("count",count); 
      
     }

%>
您是第<font color="red"><%=session.getValue("count")%></font>位访问者 <br>  
    
总访问量:  <%=xmlcount.getTotalCount() %><br>
本年访问量:<%=xmlcount.getYearCount() %><br>
本月访问量:<%=xmlcount.getMonthCount() %><br>
本周访问量:<%=xmlcount.getWeekCount() %><br>
本日访问量:<%=xmlcount.getDayCount() %><br>

二、用到的两个类
1、CountXml.java

package count;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.util.Properties;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;


import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;

public class CountXml{
        private String fileName = "h:\\Tomcat 5.0\\webapps\\zz3zcwbwebhome\\WEB-INF\\xmlcount.xml";
        private static CountObjectInf obj=null;
        private static CountXml instance=null;
       
         public static CountXml getInstance(){
             if(instance==null){
                     instance=new CountXml();
              }
              return instance;
          }

private CountXml() {
         try{
              obj=read(fileName);
         }catch(Exception e){
              System.out.println(e);
         }
         

}

     public int getTotalCount(){
         return obj.getTotalCount();
     }

     public int getDayCount() {
return obj.getDayCount();
}


public int getMonthCount() {
return obj.getMonthCount();
}


public int getWeekCount() {
return obj.getWeekCount();
}


public int getYearCount() {
return obj.getYearCount();
}

public synchronized void addcount(Date da){//比较日期增加计数

             if (new SimpleDateFormat("yyyy-MM-dd").format(this.obj.date)
                           .equals(new SimpleDateFormat("yyyy-MM-dd").format(da)))
                this.obj.setDayCount(this.obj.getDayCount() + 1);
            else
                this.obj.setDayCount(1);

            if (new SimpleDateFormat("yyyy-MM").format(this.obj.date)
                            .equals(new SimpleDateFormat("yyyy-MM").format(da)))
                this.obj.setMonthCount(this.obj.getMonthCount() + 1);
            else
                obj.setMonthCount(1);

            Calendar ca = Calendar.getInstance();
            ca.setTime(da);
            ca.setFirstDayOfWeek(Calendar.MONDAY);

            if (ca.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY && !new SimpleDateFormat("yyyy-MM-dd").format(this.obj.date).equals(new SimpleDateFormat("yyyy-MM-dd").format(da)))
                 obj.setWeekCount(1);
            else
                 obj.setWeekCount(obj.getWeekCount() + 1);

            if (new SimpleDateFormat("yyyy").format(this.obj.date)
                         .equals(new SimpleDateFormat("yyyy").format(da)))
                this.obj.setYearCount(this.obj.getYearCount() + 1);
           else
                obj.setYearCount(1);
           obj.setDate(da);

   obj.setTotalCount(obj.getTotalCount()+1); 
           obj.setTempCount(obj.getTempCount()+1);
           if(obj.getTempCount()>=20){//只有当临时访问量大于等于20时才保存一次
                     obj.setTempCount(0);//临时计数器置0
                      write(fileName);
                      
           }
        }

private void write(String fileName) {
                try {
                        FileWriter writer = new FileWriter(fileName);
                        Marshaller.marshal(obj, writer);
                        writer.close();
                } catch (Exception e) {
                        System.out.println(e);

                }
        }

        private CountObjectInf read(String fileName) throws Exception {
                FileReader reader = new FileReader(fileName);
                CountObjectInf result = (CountObjectInf) 

Unmarshaller.unmarshal(CountObjectInf.class, reader);
                reader.close();
                return result;
         }
}

2、

package count;

import java.util.Date;
public class CountObjectInf {
// 总访问量合计
protected int totalCount = 0;
//日访问量
protected int dayCount = 0;
//周访问量
protected int weekCount = 0;
// 月访问量
protected int monthCount = 0;
//年访问量
protected int yearCount = 0;

//临时访问量
protected int tempCount=0;

protected Date date =new Date();

/**
* @return
*/
public int getDayCount() {
return dayCount;
}

/**
* @return
*/
public int getMonthCount() {
return monthCount;
}

/**
* @return
*/
public int getTotalCount() {
return totalCount;
}

/**
* @return
*/
public int getWeekCount() {
return weekCount;
}

/**
* @return
*/
public int getYearCount() {
return yearCount;
}

/**
* @param i
*/
public void setDayCount(int i) {
dayCount = i;
}

/**
* @param i
*/
public void setMonthCount(int i) {
monthCount = i;
}

/**
* @param i
*/
public void setTotalCount(int i) {
totalCount = i;
}

/**
* @param i
*/
public void setWeekCount(int i) {
  weekCount = i;
}

/**
* @param i
*/
public void setYearCount(int i) {
  yearCount = i;
}



/**
* @return
*/
public Date getDate() {
  return date;
}

/**
* @param date
*/
public void setDate(Date date) {
  this.date = date;
}

/**
* @return
*/
public int getTempCount() {
   return tempCount;
}

/**
* @param i
*/
public void setTempCount(int i) {
  tempCount = i;
}

}

分享到:
评论

相关推荐

    jsp访问量

    "jsp访问量"这个主题通常涉及到如何统计和分析JSP页面被用户访问的数量,这是衡量网站或Web应用受欢迎程度和用户活动度的重要指标。 首先,我们需要理解JSP页面的工作原理。JSP文件本质上是HTML代码中嵌入了Java...

    jsp.rar_访问统计_访问量

    本教程将聚焦于如何使用JavaServer Pages(JSP)技术来实现页面的访问量统计。JSP是Java平台上的一个动态网页技术,允许开发者将HTML代码与Java代码结合,从而在服务器端生成动态内容。 首先,我们需要理解JSP的...

    jsp网站完整实例

    这个实例适用于已经掌握了一些基础的Java Web开发者,旨在通过实际操作来提升他们的技能,特别是对新闻发布、用户留言以及访问量统计等功能的实现。 JSP是Java平台上的动态网页技术,它允许开发人员在HTML代码中...

    jsp统计访问人数源码

    - 使用`application`对象:为了统计所有用户的总访问量,我们可以利用`application`对象存储全局的访问次数。每次有新访问时,我们都会增加这个值。 5. JSP脚本元素: 我们可以在JSP页面中使用脚本元素()来插入...

    网站统计在线人数,当前年、月、日访问量JAVA代码

    5. **实时展示**:将统计结果实时展示在网站上,可以通过JSP页面显示当前在线人数和累计访问量,数据可以从内存或数据库中获取。 6. **日期计算**:Java的java.time包提供了丰富的日期和时间API,如LocalDate、...

    java基于xml实现网站访问量统计

    Java基于XML实现网站访问量统计是一种常见的Web应用监控方法,主要通过解析XML文件来记录和分析网站的访问数据。在不改动数据库的情况下,这种技术提供了一种轻量级且易于集成的解决方案。以下是对这个主题的详细...

    可运行-JSP访问统计

    **可运行-JSP访问统计** 在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。本文将深入探讨如何利用JSP实现一个简单的访问统计功能,以跟踪和展示网站用户的访问数据。 首先,我们需要理解...

    jsp网站流量图表分析系统

    这个系统旨在帮助网站管理员深入了解用户行为,通过对访问量、页面浏览量、用户来源等关键指标进行可视化展示,以便优化网站性能和用户体验。 【描述】"完整jsp网站流量图表分析系统jsp网站流量图表分析"指出,该...

    JSP实现网站流量统计

    在网站运营中,流量统计是一项至关重要的任务,它能够帮助我们了解网站的访问情况,包括访问量、用户行为、热门页面等信息。本资源提供了JSP实现网站流量统计的一种方法,对于学习和实践Web开发,尤其是JSP应用,...

    网站群子网访问量统计

    网站群子网访问量统计是一项重要的网络数据分析任务,它能够帮助管理员了解用户访问网站的分布情况,优化资源分配,提升用户体验,并对网络安全提供有力的数据支持。在这个过程中,我们需要关注以下几个关键知识点:...

    非常完美Java实现年、月、日、周访问量统计

    在Java编程语言中,实现对年、月、日、周访问量的统计是一项常见的任务,尤其是在网站数据分析或者服务器日志处理中。这个任务涉及到日期时间处理、数据存储以及可能的数据聚合操作。以下是一些关键的知识点,可以...

    jsp页面记录自己的访问次数和总的访问次数

    ### JSP 页面记录自己的访问次数和总的访问次数 在 Web 开发中,了解用户行为对于优化网站性能、改进用户体验以及进行市场分析具有重要意义。其中一项常见的需求是统计页面的访问次数,这不仅可以帮助我们了解哪些...

    JSP网站流量统计系统

    1. **访问量统计**:记录每个页面的访问次数,分析哪些页面最受欢迎。 2. **独立访客统计**:通过Cookie或其他方式识别不同用户,计算独立访问者数量。 3. **用户行为分析**:跟踪用户在网站上的活动路径,了解用户...

    js+jsp+json+tomcat跨域访问

    在IT行业中,跨域访问是Web开发中一个重要的概念,特别是在使用JavaScript、JSP、JSON以及前端库如jQuery时。本教程将详细讲解如何利用这些技术实现跨域数据交互。 首先,我们需要理解“跨域”这个术语。在浏览器的...

    jsp计数器网站必备

    4. **性能优化**:随着访问量的增加,频繁读写文件会导致性能瓶颈。可以考虑使用缓存机制减少对文件系统的访问频率。 5. **异常处理**:在实际开发中应加入更加完善的异常处理逻辑,提高系统的健壮性。 6. **安全...

    180JSP教师工作量系统

    1. **用户登录与权限管理**:系统可能有一个登录界面,用户(如教师、管理员)输入凭据后,JSP将验证这些信息并根据用户角色分配不同的访问权限。 2. **数据录入与展示**:教师可以输入他们的工作记录,包括教学...

    JSP网站开发典型模块与实例精讲

     1.2 JSP轻量级开发和运行环境简介  1.2.1 JSP运行最佳环境Tomcat+MySQL  1.2.2 高效开发JSP的最佳搭配工具Eclipse+MyEclipse  1.2.3 开发JSP经典模式MVC  1.3 JSP开发运行环境搭建  1.3.1 安装JDK  ...

    企业门户网站 jsp

    【企业门户网站 JSP 知识点详解】 企业门户网站是企业对外展示信息、提供服务和交流互动的重要窗口,而 JSP(JavaServer Pages)是构建这种网站的常用技术之一。JSP 是一种动态网页开发技术,它结合了 HTML 和 Java...

    JSP网站开发典型模块源码

    本资源"JSP网站开发典型模块源码"提供了一套完整的JSP开发实例,帮助开发者深入理解并实践JSP技术。 首先,我们要明白JSP的基本概念。JSP是基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,...

    完全基于jsp的在线统计系统

    本系统完全基于JSP(JavaServer Pages)技术,提供了一系列核心功能,包括网站计数器、用户停留时间统计、实时在线人数统计以及网站访问量统计。本文将深入探讨这些功能的实现原理及应用价值。 首先,网站计数器是...

Global site tag (gtag.js) - Google Analytics