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 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
Aug 12 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
Dec 08 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
Vue指令指令大全
2019/02/09 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python实现log日志的示例代码
2018/04/28 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
python 自定义装饰器实例详解
2019/07/20 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
python selenium xpath定位操作
2020/09/01 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
转让协议书范本
2014/04/15 职场文书
求职信内容怎么写
2014/05/26 职场文书
2015年林业工作总结
2015/05/14 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
2019财务转正述职报告
2019/06/27 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers