JSP 카운터 생산
저자:Eve Cole
업데이트 시간:2009-07-02 17:12:55
카운터는 일반 웹사이트의 필수 요소입니다. 웹마스터는 작은 카운터의 숫자가 빠르게 늘어나는 것을 볼 때마다 기분이 좋아집니다. 과거에는 cgi와 asp를 사용하여 카운터를 작성했습니다. 여기서는 현재 널리 사용되는 jsp 기술을 사용하여 카운터를 만드는 방법을 보여 드리겠습니다.
우리는 두 개의 파일을 사용했는데, test.jsp 파일은 브라우저에서 실행하는 데 사용되었고, counter.java는 카운터 값을 읽고 카운터 값을 쓰는 데 사용되는 백그라운드의 작은 Java Bean 프로그램입니다. 카운터를 저장하기 위해 텍스트 파일 lyfcount.txt를 사용합니다.
자세한 프로그램 코드는 다음과 같습니다. (test.jsp는 웹 디렉토리에, counter.java는 클래스 디렉토리에 위치합니다.)
//test.jsp 파일
<%@ 페이지 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" 범위="요청">
</jsp:useBean>
<%
//count 개체의 ReadFile 메서드를 호출하여 lyfcount.txt 파일의 개수를 읽습니다.
String cont=counter.ReadFile("/lyfcount.txt");
//카운터 개체의 ReadFile 메서드를 호출하여 카운터를 증가시키고 이를 lyfcount.txt 파일에 씁니다.
counter.WriteFile("/lyfcount.txt",cont);%>
귀하는 <font color="red"><%=cont%></font> 방문자입니다
</BODY>
</HTML>
//counter.java는 파일을 읽고 쓰는 빈입니다.
import java.io.*;
공개 클래스 카운터는 Object {를 확장합니다.
private String currentRecord = null;//텍스트를 저장할 변수
개인 BufferedReader 파일; //파일 데이터를 읽는 데 사용되는 BufferedReader 개체
private String path;//파일의 전체 경로 이름
공개 카운터() {
}
//ReadFile 메소드는 filePath 파일의 데이터를 읽고 이 데이터를 반환하는 데 사용됩니다.
공개 문자열 ReadFile(String filePath)에서 FileNotFoundException이 발생합니다.
{
경로 = 파일 경로;
//새 BufferedReader 객체 생성
file = new BufferedReader(새 FileReader(경로));
문자열 returnStr =null;
노력하다
{
//데이터 행을 읽고 이를 currentRecord 변수에 저장합니다.
currentRecord = file.readLine();
}
잡기(IOException e)
{//오류 처리
System.out.println("데이터 읽기 오류.");
}
if (현재 레코드 == null)
//파일이 비어있는 경우
returnStr = "기록이 없습니다";
또 다른
{//파일이 비어 있지 않습니다.
returnStr =현재 레코드;
}
//읽은 파일의 데이터를 반환합니다.
returnStr;
}
//ReadFile 메소드는 텍스트 파일 filePath에 데이터 카운터+1을 쓰는 데 사용됩니다.
//성장 계산 기능을 구현하려면
공개 무효 WriteFile(String filePath,String counter)이 발생합니다.
FileNotFoundException
{
경로 = 파일 경로;
//counter를 int형으로 변환하고 1을 추가합니다.
int Writestr = Integer.parseInt(counter)+1;
노력하다 {
//파일에 데이터를 쓰기 위한 PrintWriter 객체 생성
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
//정수 Writestr을 텍스트 형식으로 인쇄합니다.
pw.println(Writestr);
//PrintWriter 객체를 지웁니다.
pw.close();
} catch(IOException e) {
//오류 처리
System.out.println("파일 쓰기 오류"+e.getMessage());
}
}
}
이 시점에서 프로그램은 완료되고 counter.java를 counter.class로 컴파일하고 해당 클래스에도 넣습니다.
클래스 디렉터리에서 루트 디렉터리에 lyfcount.txt 파일을 만듭니다. 파일 내용은 숫자 0입니다.
브라우저에 주소를 입력하면 카운터를 볼 수 있으며 브라우저를 새로 고치면 변경되는 숫자를 볼 수 있습니다.
(실행시 파일을 찾을 수 없다는 메시지가 나오면 위의 test.jsp에서 readfile 문장을 주석처리한 후 실행해주세요.
lyfcount.txt 파일이 자동으로 생성되면 정상적으로 실행될 수 있습니다. )