トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

JSPの基本:初期化と終了時処理

JSPの初期化と終了時処理

  • JSPの宣言部<%!〜%>にjspInit()メソッド、jspDestroy()メソッドを記述することで、JSPの初期化や終了時処理を行うことができる

 jspInit()メソッド

  • アプリケーションサーバ起動後、JSPページが最初に呼び出されるときに、一度だけ実行されるメソッド。
  • JSPページの生存中に使われるフィールド変数の初期化、データベースへの接続などの処理を記述するために使われる。

書式

<%!
	public void jspInit() {
		//初期化処理
	}
%>

 jspDestroy()メソッド

  • アプリケーションサーバのシャットダウン時に一度だけ実行されるメソッド。
  • JSPの変数の保存処理、データベースへの接続のクローズ処理などを記述するために用いられる。
<%!
	public void jspDestroy() {
		//終了時処理
	}
%>

 jspInitとjspDestroyの例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%!
int counter;
private File file;
public void jspInit(){
    file=new File(getServletContext().getRealPath("/WEB-INF/counter.dat"));
    if(file.exists()) {    //ファイルがあれば
        try {
            DataInputStream dis = new DataInputStream(new FileInputStream(file));
            counter=dis.readInt();
            dis.close();
        } catch(IOException e){}
    }
}
public void jspDestroy() {
    try {
        file.getParentFile().mkdirs();
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
        dos.writeInt(counter);
        dos.flush();
        dos.close();
    } catch(IOException e){}
}
%>
<html>
<body>
    このページは<%=(++counter)%>回読まれました。
</body>
</html>

最終更新時間:2016年06月06日 15時18分11秒