JSP中实现网页访问统计的方法
将统计数据存储在本地的文件当中,比如存储在一个txt文件当中。
这是为了解决重启服务器之后数据不用担心会丢失。
创建一个类:JSPCount
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- public class JSPCount {
- //写入文件的方法
- public static void write2File(String filename, long count){
- try{
- PrintWriter out = new PrintWriter(new FileWriter(filename));
- out.println(count);
- out.close();
- } catch (IOException e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- //读文件的方法
- public static long readFromFile(String filename){
- File file = new File(filename);
- long count = 0;
- if(!file.exists()){
- try {
- file.createNewFile();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- write2File(filename, 0);
- }
- try{
- BufferedReader in = new BufferedReader(new FileReader(file));
- try{
- count = Long.parseLong(in.readLine());
- }
- catch (NumberFormatException e) {
- // TODO: handle exception
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- } catch (FileNotFoundException e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- return count;
- }
- }
在WebRoot目录下建jsp文件:count.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
- <%@ page import="org.wwj.count.JSPCount" %>
- <html>
- <head>
- <title>java 计数器程序</title>
- </head>
- <body>
- <%
- JSPCount CountFileHandler = new JSPCount();
- //读取文件
- long count = CountFileHandler.readFromFile(request.getRealPath("/") + "count.txt");
- count = count + 1; //修改记录 +1
- out.print(count); //显示数据
- //更新文件内容。
- CountFileHandler.write2File(request.getRealPath("/") + "count.txt", count);
- %>
- </body>
- </html>
程序运行之后会在tomcat下的webapps目录下的对应的web项目生成一个count.txt文本文件