亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

實例代碼:JSP高訪問量下的計數程序

2024-09-05 00:19:49
字體:
來源:轉載
供稿:網友

  有時要為每一篇文章統計其點擊次數,如果每一次瀏覽都要更新一次庫的話,那性能在訪問量很大的情況下,服務器的壓力就會很大了,比較好一點的方法就是先將要更新的數據緩存起來,然后每隔一段時間再利用數據庫的批量處理,批量更新庫。源碼如下:

  countbean.java

/*
* countdata.java
*
* created on 2006年10月18日, 下午4:44
*
* to change this template, choose tools | options and locate the template under
* the source creation and management node. right-click the template and choose
* open. you can then make changes to the template in the source editor.
*/

  package com.tot.count;

/**
*
*/
public class countbean {
 private string counttype;
 int countid;
 /** creates a new instance of countdata */
 public countbean() {}
 public void setcounttype(string counttypes){
  this.counttype=counttypes;
 }
 public void setcountid(int countids){
  this.countid=countids;
 }
 public string getcounttype(){
  return counttype;
 }
 public int getcountid(){
  return countid;
 }
}

  countcache.java

/*
* countcache.java
*
* created on 2006年10月18日, 下午5:01
*
* to change this template, choose tools | options and locate the template under
* the source creation and management node. right-click the template and choose
* open. you can then make changes to the template in the source editor.
*/
package com.tot.count;
import java.util.*;
/**
*
*/
public class countcache {
 public static linkedlist list=new linkedlist();
 /** creates a new instance of countcache */
 public countcache() {}
 public static void add(countbean cb){
  if(cb!=null){
   list.add(cb);
  }
 }
}

 countcontrol.java

 /*
 * countthread.java
 *
 * created on 2006年10月18日, 下午4:57
 *
 * to change this template, choose tools | options and locate the template under
 * the source creation and management node. right-click the template and choose
 * open. you can then make changes to the template in the source editor.
 */
package com.tot.count;
import tot.db.dbutils;
import java.sql.*;
/**
*/
public class countcontrol{
 private static long lastexecutetime=0;//上次更新時間 
 private static long executesep=60000;//定義更新間隔時間,單位毫秒
 /** creates a new instance of countthread */
 public countcontrol() {}
 public synchronized void executeupdate(){
  connection conn=null;
  preparedstatement ps=null;
  try{
   conn = dbutils.getconnection();
   conn.setautocommit(false);
   ps=conn.preparestatement("update t_news set hits=hits+1 where id=?");
   for(int i=0;i<countcache.list.size();i++){
    countbean cb=(countbean)countcache.list.getfirst();
    countcache.list.removefirst();
    ps.setint(1, cb.getcountid());
    ps.executeupdate();⑴
    //ps.addbatch();⑵
   }
   //int [] counts = ps.executebatch();⑶
   conn.commit();
  }catch(exception e){
   e.printstacktrace();
  } finally{
  try{
   if(ps!=null) {
    ps.clearparameters();
ps.close();
ps=null;
  }
 }catch(sqlexception e){}
 dbutils.closeconnection(conn);
 }
}
public long getlast(){
 return lastexecutetime;
}
public void run(){
 long now = system.currenttimemillis();
 if ((now - lastexecutetime) > executesep) {
  //system.out.print("lastexecutetime:"+lastexecutetime);
  //system.out.print(" now:"+now+"/n");
  // system.out.print(" sep="+(now - lastexecutetime)+"/n");
  lastexecutetime=now;
  executeupdate();
 }
 else{
  //system.out.print("wait for "+(now - lastexecutetime)+" seconds:"+"/n");
 }
}
}

//注:如果你的數據庫驅動支持批處理,那么可以將⑵,⑶標記的代碼前的注釋去掉,同時在代碼⑴前加上注釋

  類寫好了,下面是在jsp中如下調用。

<%
countbean cb=new countbean();
cb.setcountid(integer.parseint(request.getparameter("cid")));
countcache.add(cb);
out.print(countcache.list.size()+"<br>");
countcontrol c=new countcontrol();
c.run();
out.print(countcache.list.size()+"<br>");
%>

,歡迎訪問網頁設計愛好者web開發。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色悠悠久久88| 国产精品av在线| 国产精品成人va在线观看| 一道本无吗dⅴd在线播放一区| 九色91av视频| 国模精品一区二区三区色天香| 夜夜嗨av一区二区三区免费区| 亚洲欧美日韩第一区| 欧美精品久久久久| 亚洲精选在线观看| 国产视频亚洲视频| 国产精品一区二区三| 欧美精品免费在线| 91久久久亚洲精品| 久久久91精品国产一区不卡| 亚洲一区二区三| 97在线观看视频| 亚洲精选在线观看| 欧美大全免费观看电视剧大泉洋| 日韩一区视频在线| 久久久国产一区二区| 成人激情在线观看| 亚洲一区第一页| 欧美日韩国产成人| 欧美日韩综合视频网址| 最近更新的2019中文字幕| 日韩欧美在线视频观看| 国产精品色婷婷视频| 亚洲视频在线观看视频| 亚洲系列中文字幕| 日韩av不卡电影| 国产精品吊钟奶在线| 欧美日本精品在线| 亚洲精品福利免费在线观看| 日韩av有码在线| 日韩精品免费在线播放| 亚洲成**性毛茸茸| 日本高清不卡的在线| 国产成人自拍视频在线观看| 国产精品天天狠天天看| 欧美激情精品久久久久久免费印度| 亚洲国产欧美久久| 日产日韩在线亚洲欧美| 国产小视频91| 97精品在线观看| 亚洲一区久久久| www.日韩欧美| 欧美成人sm免费视频| 亚洲人成在线免费观看| 国产精品入口夜色视频大尺度| www.日韩不卡电影av| 亚洲精品在线看| 尤物九九久久国产精品的分类| 日韩欧美在线一区| 国产在线播放91| 一区二区三区无码高清视频| 亚洲精品一区二区在线| 亚洲第一网中文字幕| 国产精品日韩专区| 国产一区二区三区三区在线观看| 欧美性生活大片免费观看网址| 欧美日韩国产中文精品字幕自在自线| 国产精品夜间视频香蕉| 宅男66日本亚洲欧美视频| 亚洲国产私拍精品国模在线观看| 久久久91精品国产一区不卡| 福利精品视频在线| 欧美精品在线视频观看| 夜夜嗨av色综合久久久综合网| 久久最新资源网| 国产精品久久久999| 欧美网站在线观看| 国产日韩视频在线观看| 欧美成人激情视频免费观看| 136fldh精品导航福利| 国产精品美女久久久免费| 97色在线视频| 国产精品九九久久久久久久| 久久久噜噜噜久久| 91在线视频九色| 亚洲国产精品免费| 亚洲精品电影久久久| 国产剧情日韩欧美| 国产欧美中文字幕| 久久久久久久久久久91| 精品久久久久久国产91| 亚洲欧洲第一视频| 成人中文字幕+乱码+中文字幕| 亚洲伊人成综合成人网| 国产欧美一区二区| 色777狠狠综合秋免鲁丝| 久久久av免费| 欧美一区二区三区艳史| 国产97在线观看| 亚洲精品久久久久久久久久久久| 69久久夜色精品国产69乱青草| 国产精品三级美女白浆呻吟| 亚洲qvod图片区电影| 92国产精品视频| 日本不卡高字幕在线2019| 国产精品久久久久久亚洲影视| 日韩成人中文字幕在线观看| 精品久久久久久久久中文字幕| 亚洲一区二区三区香蕉| 91精品国产高清自在线| 久久国产精品电影| 亚洲精品动漫100p| 中文字幕成人精品久久不卡| 91精品视频播放| 91成人福利在线| 日本精品久久久| 日韩欧美中文免费| 国产精品av在线| 国产成人精品久久二区二区| 91精品国产色综合久久不卡98口| 成人网欧美在线视频| 欧美成人手机在线| 亚洲欧美日韩在线一区| 亚洲精品自拍第一页| 神马久久久久久| 午夜欧美不卡精品aaaaa| 亚州欧美日韩中文视频| 国产精品亚洲综合天堂夜夜| 国产精品久久久久久av福利软件| 日韩av资源在线播放| 亚洲免费视频观看| 亚洲美女av在线播放| 国产成人在线一区| 国产精品久久一区主播| 亚洲天堂免费在线| 亚洲变态欧美另类捆绑| 一区二区国产精品视频| 国产成人久久久| 久久精品这里热有精品| 日本高清视频精品| 亚洲第一福利在线观看| 国产精品久久精品| 亚洲天堂成人在线视频| 亚洲日韩中文字幕| 国产丝袜一区二区三区| 亚洲精品wwwww| 成人午夜黄色影院| 成人午夜黄色影院| 日韩av一区在线观看| 欧美精品国产精品日韩精品| 97香蕉超级碰碰久久免费软件| 亚洲免费av网址| 欧美性视频网站| 国产精品电影久久久久电影网| 在线日韩av观看| 正在播放国产一区| 久久影视电视剧凤归四时歌| 午夜精品一区二区三区在线| 九九热这里只有精品6| 中文字幕日韩免费视频| 亚洲精品91美女久久久久久久| 日韩电影中文字幕av| 亚洲欧洲在线免费| 久久亚洲精品视频| 国产亚洲a∨片在线观看| 亚洲香蕉成人av网站在线观看| 亚州欧美日韩中文视频| 日韩经典第一页| 欧美日韩国产丝袜美女|