HOME  JSP  アクセスカウンター

  JSP
 JSP  TOP

 Hell JSP!

 ファイルのインクルード

 HTMLからデータを渡す

 ブラウザ判別

 セッション情報

 アクセスカウンター

 JSPからJSPに値を渡す

 データベースに接続

 クッキー

 買い物かご

 掲示板

 投票


 JavaBeans



  アクセスカウンター
  ファイルを用意して、カウント数をファイルに読み書きし値を維持し続け反映させ る。ここではCドライブの下にcounterというフォルダを作成し、その中に最初の値であ る0を記述したcount.datというファイルを作成しています。
Sample6.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.io.*" %>
<html>
<head><title>JSPカウンター</title></head>
<body>
<%! int count; %>
<%
  request.setCharacterEncoding("JISAutoDetect");
    synchronized(this) {
     try {
        String fname ="c:/counter/count.dat";
        File f = new File(fname);
        if( f.exists() ) { 
          FileReader fr = new FileReader(fname);
          BufferedReader br = new BufferedReader(fr);
          String line = br.readLine();
          count = Integer.parseInt(line);
          count++;
          br.close();
        } else {
          count = 1; 
        }
        FileWriter w = new FileWriter(fname);
        PrintWriter pw = new PrintWriter(w);
        pw.println(count);
        pw.close();
      } catch( Exception e ) { }
    }
%>
現在の値:<%= count %><br>
</body>
</html>
count.dat
0
実行結果
F5(更新)をクリックする度にカウントされていきます。ブラウザを閉じても用意したファ イルに現在のカウント回数を書き換えていくのでカウントを保持し続けます。
count.datファイルを開いて確認する。



  画像アクセスカウンター

	  画像つきのアクセスカウンターを作ってみました。画像ファイル(ファイル名は0〜9)を
	別に用意します。テキストファイルは上記のcount.datファイルを引き続き利用しています。
	
画像ファイルダウンロード(zip形式)
counter.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.io.*" %>
<html>
<head><title>JSPカウンター</title></head>
<body>
<%! int count;
 int one=0;
 int ten=0;
 int hun=0;
 int tho=0;
 int teth=0;
 int hunth=0;
%>
<%
  request.setCharacterEncoding("JISAutoDetect");
    synchronized(this) {
     try {
        String fname ="c:/counter/count.dat";
        File f = new File(fname);
        if( f.exists() ) { 
          FileReader fr = new FileReader(fname);
          BufferedReader br = new BufferedReader(fr);
          String line = br.readLine();
          count = Integer.parseInt(line);
          count++;
          br.close();
        } else {
          count = 1; 
        }
        FileWriter w = new FileWriter(fname);
        PrintWriter pw = new PrintWriter(w);
        pw.println(count);
        pw.close();
      } catch( Exception e ) { 
      }
		hunth=count/100000;
		teth=(count-hunth*100000)/10000;
		tho=(count-hunth*100000-teth*10000)/1000;
		hun=(count-hunth*100000-teth*10000-tho*1000)/100;
		ten=(count-hunth*100000-teth*10000-tho*1000-hun*100)/10;
		one=(count-hunth*100000-teth*10000-tho*1000-hun*100-ten*10)/1;
    }
%>
<table border="0"><tr><td><font face="Times new Roman" size="5">
<b>TOTAL:</b></font></td><td>
<img src="<%= hunth %>.jpg"><img src="<%= teth %>.jpg">
<img src="<%= tho %>.jpg"><img src="<%= hun %>.jpg">
<img src="<%= ten %>.jpg"><img src="<%= one %>.jpg">
</td></tr></table>
</body>
</html>
実行結果
F5(更新)をクリックする度にカウントされていきます。


 


Rental Orbit Space