我們先看一個使用文件的代碼
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 此文件的版權歸
// Java世紀網(http://www.java2000.net)和 CSDN(www.csdn.net)所有
// 作者:老紫竹
// 轉載必須保留此版權聲明
%>
<%@page import="java.io.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!// 一個同步用的鎖
private static final Object lock = new Object();
// 注意默認的文件目錄在tomcat/bin目錄下面
private static final File file = new File("counter.dat");%>
Hello Word!
<%
Integer count = 0;
synchronized (lock) {
// 我們從文件讀取數據
// 如果文件不存在,則需要初始化
if (!file.exists()) {
// 創建一個新的文件
file.createNewFile();
count = 0;
} else {
// 准備讀取文件
FileReader reader = new FileReader(file);
// 從文件裡讀取int數據
count = reader.read();
// 關閉文件
reader.close();
}
count++;
// 准備寫入文件
FileWriter writer = new FileWriter(file);
// 寫入
writer.write(count);
// 關閉文件
writer.close();
}
%>
當前一共訪問次數為:<%=count%>
</body>
</html>
再次強調,默認的文件目錄在tomcat/bin目錄下面。我們修改代碼,將文件放到我們的項目的WEB-INF/classes目錄下面
修改後的代碼
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 此文件的版權歸
// Java世紀網(http://www.java2000.net)和 CSDN(www.csdn.net)所有
// 作者:老紫竹
// 轉載必須保留此版權聲明
%>
<%@page import="java.io.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!// 一個同步用的鎖
private static final Object lock = new Object();
// 注意默認的文件目錄在tomcat/bin目錄下面
private static File file = null;%>
Hello Word!
<%
Integer count = 0;
synchronized (lock) {
// 初始化文件名
if (file == null) {
file = new File(application.getRealPath(".")
+ "/WEB-INF/classes/counter.dat");
}
// 我們從文件讀取數據
// 如果文件不存在,則需要初始化
if (!file.exists()) {
// 創建一個新的文件
file.createNewFile();
count = 0;
} else {
// 准備讀取文件
FileReader reader = new FileReader(file);
// 從文件裡讀取int數據
count = reader.read();
// 關閉文件
reader.close();
}
count++;
// 准備寫入文件
FileWriter writer = new FileWriter(file);
// 寫入
writer.write(count);
// 關閉文件
writer.close();
}
%>
當前一共訪問次數為:<%=count%>
</body>
</html>
生成的文件如下:
後面我們將使用MySQL數據庫進行存儲