производство счетчиков JSP
Автор:Eve Cole
Время обновления:2009-07-02 17:12:55
Счетчики необходимы для обычных веб-сайтов. Не стоит их недооценивать. Всякий раз, когда веб-мастер видит, что цифры на маленьком счетчике быстро растут, он чувствует себя очень хорошо. Раньше для написания счетчиков мы использовали cgi и asp. Здесь мы воспользуемся популярной сейчас технологией jsp, чтобы продемонстрировать, как создать счетчик.
Мы использовали два файла: файл test.jsp используется для запуска в браузере, а counter.java — это небольшая фоновая Java-программа, используемая для чтения значения счетчика и записи значения счетчика. Для сохранения счетчика мы используем текстовый файл lyfcount.txt.
Ниже приведен подробный код программы (test.jsp находится в веб-каталоге, counter.java — в каталоге классов):
//файл test.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<HTML>
<ГОЛОВКА>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>Программа демонстрации счетчиков</TITLE>
</HEAD>
<ТЕЛО>
<!--Создать и вызвать компонент(счетчик)-->
<jsp:useBean id="counter" class="counter"scope="request">
</jsp:useBean>
<%
//Вызов метода ReadFile объекта счетчика, чтобы прочитать счетчик в файле lyfcount.txt
String cont=counter.ReadFile("/lyfcount.txt");
//Вызов метода ReadFile объекта счетчика, чтобы увеличить счетчик и записать его в файл lyfcount.txt
counter.WriteFile("/lyfcount.txt",cont);%>
Вы <font color="red"><%=cont%></font> посетитель
</ТЕЛО>
</HTML>
//counter.java — это компонент, который читает и записывает файлы
импортировать java.io.*;
счетчик публичного класса расширяет Object {
частная строка currentRecord = null; // Переменная для сохранения текста
частный файл BufferedReader //объект BufferedReader, используемый для чтения данных файла;
частный строковый путь;//Полный путь к файлу
публичный счетчик() {
}
//Метод ReadFile используется для чтения данных в файле filePath и возврата этих данных
public String ReadFile (String filePath) выдает FileNotFoundException
{
путь = путь к файлу;
//Создаем новый объект BufferedReader
файл = новый BufferedReader (новый FileReader (путь));
Строка returnStr = null;
пытаться
{
//Читаем строку данных и сохраняем ее в переменную currentRecord
текущаяЗапись = file.readLine();
}
улов (IOException e)
{//Обработка ошибок
System.out.println("Ошибка чтения данных.");
}
если (currentRecord == ноль)
//Если файл пуст
returnStr = "Нет записей";
еще
{//Файл не пустой
returnStr = текущая запись;
}
//Вернем данные из прочитанного файла
вернуть возвратStr;
}
//Метод ReadFile используется для записи данных счетчика+1 в текстовый файл filePath.
//Для достижения функции подсчета роста
public void WriteFile (String filePath, счетчик строк) выдает
FileNotFoundException
{
путь = путь к файлу;
//Преобразуем счетчик в тип int и добавляем его
int Writestr = Integer.parseInt(счетчик)+1;
пытаться {
//Создаем объект PrintWriter для записи данных в файл
PrintWriter pw = новый PrintWriter (новый FileOutputStream (filePath));
//Распечатываем целое число Writestr в текстовом формате
pw.println(Writestr);
//Очищаем объект PrintWriter
пв.закрыть();
} catch(IOException e) {
//Обработка ошибок
System.out.println("Ошибка записи файла"+e.getMessage());
}
}
}
На этом программа закончена, скомпилируйте counter.java в counter.class, а также поместите его в соответствующий
В каталоге классов создайте файл lyfcount.txt в корневом каталоге. Содержимым файла является число 0, непосредственно в нем.
Вы можете увидеть счетчик, введя адрес в браузер. Обновите браузер, и вы увидите меняющиеся цифры.
(Если при запуске появится сообщение о том, что файл не найден, прокомментируйте предложение readfile в test.jsp выше и запустите его.
После автоматического создания файла lyfcount.txt он может работать нормально. )