JS+JSP通过img标签调用实现静态页面访问次数统计的方法


Posted in Javascript onDecember 14, 2015

本文实例讲述了JS+JSP通过img标签调用实现静态页面访问次数统计的方法。分享给大家供大家参考,具体如下:

测试页面: test.html  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>test</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
 </head>
 <body>
 this is a test page.
<script type="text/javascript">document.write("<img src=http://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script>
 </body>
</html>

统计程序: pv.jsp:

假设部署位置为http://127.0.0.1:8080/EasyCMS/pv.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%
String path="/opt/test.txt";
writeNumber(String.valueOf(readNumber(path)+1),path);
%>
<%=readNumber(path) %>
<%!
  /**
   * 写入数字内容
   *
   * @param number
   * @param filename
   * @return
   */
  public boolean writeNumber(String number, String filename) {
    try {
      FileOutputStream fos = new FileOutputStream(filename);
      OutputStreamWriter writer = new OutputStreamWriter(fos);
      writer.write(number);
      writer.close();
      fos.close();
    } catch (IOException e) {
      e.printStackTrace();
      return false;
    }
    return true;
  }
  /**
   * 读取数字内容
   * 
   * @param filename
   * @return
   */
  public int readNumber(String filename) {
    int number = 0;
    try {
      File file = new File(filename);
      if (file.exists()) {
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        String contents = br.readLine();
        if (contents != null && contents.length() > 0) {
          contents = contents.replaceAll("[^0-9]", "");
          number = Integer.valueOf(contents);
        }
        br.close();
        fr.close();
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return number;
  }
%>

基本思想:
 
访问静态页面时,通过img标签指定src 为访问统计的地址, img标签向统计程序发出请求,实现统计.
统计示例代码采用文件来记录访问次数,实际项目可以记录数据库.
 
关键代码:

<script type="text/javascript">document.write("<img src=http://127.0.0.1:8080/EasyCMS/pv.jsp border=0 width=0 height=0>");</script>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
js 金额文本框实现代码
Feb 14 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
javascript数组去重小结
Mar 07 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
Apr 10 Javascript
微信小程序中时间戳和日期的相互转换问题
Jul 09 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 #Javascript
javascript中new关键字详解
Dec 14 #Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 #Javascript
Position属性之relative用法
Dec 14 #Javascript
CSS中position属性之fixed实现div居中
Dec 14 #Javascript
通过设置CSS中的position属性来固定层的位置
Dec 14 #Javascript
js实现拖拽效果(构造函数)
Dec 14 #Javascript
You might like
PHP 进程锁定问题分析研究
2009/11/24 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
JS数组去重的6种方法完整实例
2018/12/08 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python两种遍历字典(dict)的方法比较
2014/05/29 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python操作cfg配置文件方式
2019/12/22 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
食品销售计划书
2014/04/26 职场文书
大二学习计划书范文
2014/04/27 职场文书
励志演讲稿300字
2014/08/21 职场文书
2014年检验科工作总结
2014/11/22 职场文书
学校教学管理制度
2015/08/06 职场文书
九不准学习心得体会
2016/01/23 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript