Symfoware Parallel Server JDBCドライバユーザーズガイド
|
目次
索引
|
付録B サンプルアプリケーション
B.5 JSP
Interstage Apworksを使って、Webアプリケーションの一種であるJSPを開発することができます。JSPファイルは、HTMLファイルの一部にサーバ上で実行される JSPプログラムが埋め込まれたファイルです。ページの一部がプログラムの実行結果によって置き換えられる動的コンテンツになります。
Interstage Apworksを使用して、以下の手順でJSPを作成します。
ここでは、データベースにアクセスして住所録一覧を表示するJSPの作成を例に説明していきます。
(1) Webアプリケーションプロジェクトの作成
- Interstage Apworksのコンポーネントデザイナを起動します。
開いているプロジェクトがある場合は、[ファイル]メニューの[プロジェクトを閉じる]を選択します。
- [ファイル]メニューの[プロジェクトの新規作成]を選択します。
- 「プロジェクト新規作成」画面が表示されます。この画面の指示にしたがって必要な項目を入力すると、プロジェクトが作成されます。
Webアプリケーション(JSP)のプロジェクトを作成する場合、以下のように設定します。

[次へ]ボタンを押します。

リソース結合は、「しない」を選択してください。
[次へ]ボタンを押します。

[完了]ボタンを押します。
引き続き、Webアプリケーションの新規作成画面が起動されます。

[標準JSP]を選択し、[OK]ボタンをクリックします。
ウィザード画面が表示されます。

まず、コントロールページと、呼び出すHTMLファイルに関する情報を指定します。
以下のように指定します。
1. コントロールページのファイル名 |
AddressList |
2. 使用する文字コードセット |
JISAutoDetect |
3. 呼び出すHTMLファイルの生成 |
チェックしない |
4. インデントに使用する文字 |
チェックする |
[次へ]ボタンをクリックします。

次に、使用するアプリケーションクラスの情報を指定します。
以下のように指定します。
1. アプリケーションクラスの使用形式 |
全セッションで共有する |
2. 使用するクラス |
PersonalInfo |
3. 使用するクラスのパッケージ名 |
MyApp |
4. 識別子 |
AddressList |
5. アプリケーションクラスの生成 |
チェックする |
[次へ]ボタンをクリックします。

次に、生成する各JSPファイルの名前を指定します。
以下のように指定します。
1. 画面出力ページのファイル名 |
AddressListOut |
2. 警告出力ページのファイル名 |
AddressListWarning |
3. エラー出力ページのファイル名 |
AddressListError |
[完了]ボタンをクリックします。

設定した内容が表示されるので、確認して[OK]ボタンをクリックします。

以上の操作で新規プロジェクトが作成され、プロジェクト内にファイルが生成されます。
(2) JSPファイルの編集
次に、JSPが出力する画面構成を定義します。JSPファイルは、HTMLファイルと同様に、ページエディタを用いて作成することができます。
- コントロールページの編集
- コンポーネントデザイナのツリー表示域に表示されている「AddressList.jsp」をダブルクリックすると、「ページエディタ」が起動します。
画面モードでは何も表示されません。
コントロールページは、画面出力および警告出力ページの画面遷移を司ります。
画面遷移の実現には、コントロールページ内に処理を定義します。以下のように編集してください。

- 画面出力、警告出力およびエラー出力ページの編集
- 2.1 画面出力ページ
- ツリー表示域に表示されている「AddressListOut.jsp」をダブルクリックします。
下の画面と同じになるように編集してください。

JSPタグを挿入するために、テキストモードに切り換えます。

- 2.2 エラー出力ページ
- 「AddressListError.jsp」を下の画面と同じになるように編集してください。
AddressListError.jsp


(3) アプリケーションクラスの作成
アプリケーションクラスは、JSPとは独立に実行することも可能なユーザ定義のサーバアプリケーションです。<jsp:useBean>アクションを使用して取得、参照することができます。
- 「PersonalInfo.java」の修正を行います。コンポーネントデザイナのツリー表示域の「PersonalInfo.java」をダブルクリックし、ソースエディタを起動します。
/*
* PersonalInfo.java
*
* Copyright (c)
*/
package MyApp;
import java.util.Vector;
import java.util.*;
import java.io.*;
import java.sql.*;
import java.text.*;
import java.sql.*;
/**
* アプリケーションクラス
*
* @author
* @version
*/
public class PersonalInfo
{
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
private ResultSetMetaData rmd = null;
public static int eCount = 0;
private Vector allInfo = new Vector();
Vector vCode = new Vector();
Vector vMessage = new Vector();
/*
* コンストラクタ
*/
public PersonalInfo() throws Exception, SQLException {
String sDriver = "com.fujitsu.symfoware.jdbc.SYMDriver";
String sUrl = "jdbc:symford://myhost:2002/COMPANY";
String sUserid = "UID";
String sPassword = "PSW";
try {
Class.forName(sDriver);
con = DriverManager.getConnection(sUrl,
sUserid,
sPassword);
}
catch (SQLException ex) {
eCount = 1;
Integer inCode = new Integer(ex.getSQLState());
String sCode = String.valueOf(inCode).toString();
vCode.addElement(sCode);
vMessage.addElement(ex.getMessage());
allInfo.addElement(vCode);
allInfo.addElement(vMessage);
}
catch (Exception e) {
eCount = 1;
vMessage.addElement(e.getMessage());
allInfo.addElement(vMessage);
}
String query = "SELECT * FROM GENERAL.ADDRESSTABLE";
Vector vId = new Vector();
Vector vName = new Vector();
Vector vAddress = new Vector();
Vector vTel = new Vector();
try {
stmt = con.createStatement();
rs = stmt.executeQuery(query);
rmd = rs.getMetaData();
while (rs.next()) {
vId.addElement(new Integer(rs.getInt(1)));
vName.addElement(rs.getString(2));
vAddress.addElement(rs.getString(3));
vTel.addElement(rs.getString(4));
}
allInfo = new Vector();
allInfo.addElement(vId);
allInfo.addElement(vName);
allInfo.addElement(vAddress);
allInfo.addElement(vTel);
}
catch (SQLException ex) {
eCount = 1;
Integer inCode = new Integer(ex.getSQLState());
String sCode = String.valueOf(inCode).toString();
vCode.addElement(sCode);
vMessage.addElement(ex.getMessage());
allInfo.addElement(vCode);
allInfo.addElement(vMessage);
}
catch (Exception e) {
eCount = 1;
vMessage.addElement(e.getMessage());
allInfo.addElement(vMessage);
}
}
/*
* データベースからすべての個人情報を取得します
*/
public Vector getAllInfo() {
return allInfo;
}
}
|
太字の部分を追加します。
(4) 構築
- コンポーネントデザイナの[構築/実行]メニューの[構築]を選択するか、ツールバーの
をクリックするか、[F7]キーを押します。
- メッセージウィンドウを確認し、構築が正常終了したことを確認します。
(5) Webサーバへの配置
開発した資産をJSPとして動作させるためにWebサーバに配置します。
JSPの格納場所については、Webサーバの管理者に問い合わせてください。
Webサーバへの配置は、FTPなどを使用したファイル転送により実施します。Interstage Apworksにはファイル転送のためのFTPクライアントが付属しています。詳しくはInterstage Apworksのドキュメントを参照してください。
(6) 実行
- Webブラウザを起動して、Webサーバに配置した「AddressList.jsp」を開きます。ここでは、JSPが「http://(Webサーバ)/sample/*」のURLに格納されているものとします。
JSPを実行するために、Webブラウザ上で以下のURLを指定します。

データベースにアクセスして取得した住所録一覧を表示します。
All Rights Reserved, Copyright(C) 富士通株式会社 2006