• 検索結果がありません。

Oracle9iAS Containers for J2EEチュートリアル

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle9iAS Containers for J2EEチュートリアル"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle9iAS Containers for J2EE

チュートリアル ∼ Servlet/JSP 編 ∼

(2)

目次

はじめに...3 この資料の表記方法 ...3 OC4J のインストール ...4 OC4J のインストール要件 ...4 インストール前の準備...5 OC4J のインストール ...6 OC4J の起動と動作確認...6 OC4J の再起動・停止 ...7 Servlet/JSP の作成...8 Servlet のプログラミング...8 Servlet のコンパイル ...8 JSP の作成 ...8 Servlet/JSP のデプロイ...10 Web アプリケーションのディレクトリ構造...10 Servlet/JSP のデプロイと実行 ...11 Servlet/JSP で日本語を扱う場合の注意点 ...12 Servlet による日本語の表示 ...12 JSP による日本語の表示...12 日本語パラメータの取得 ...12 データベース接続の設定...14 DataSource とは...14 DataSource の設定 ...15 データベースにアクセスする Web アプリケーションの作成 ...16 作成する Web アプリケーション...16 データベースの準備 ...16 DataSource の設定 ...17 Servlet から DataSource を取得 ...17 Servlet、JavaBeans のコンパイル...17 サンプル・コード ...19 最後に ...24

(3)

はじめに

Oracle9i Application Server R1.0.2.2(以下 9iAS)では、Enterprise JavaBeans および Servlet、 JavaServer Pages(以下 JSP)の実行環境として新たに Oracle 9iAS Container for J2EE(以下 OC4J)が追加されます。この資料では、簡単な Servlet や JSP を作成し、OC4J にデプロイ するまでの手順を説明しています。

この資料の表記方法

この資料で使用している表記方法は次の通りです。 表記方法 説明 太字 ファイル名/URL admin.jar クーリエ・フォント コマンドやソース・コード java –version イタリック 使用する環境に合わせて変更する部分 <ホスト名>

<ORACLE_HOME> ORACLE HOME ディレクトリ

<OC4J_HOME> OC4J がインストールされたディレクトリ

なお、この資料では、Windows 環境を前提に説明をしていますが、特に記述が ない限り、UNIX/Linux でも同様です。

(4)

OC4J のインストール

この章では、OC4J をインストールするために必要な手順について説明します。

OC4J のインストール要件

OC4J をインストールおよび実行するためには、Java2 Standard Edition(以下 JDK) version 1.2.2_007 以降がインストールされている必要があります。すでに 9iAS が インストールされている場合、<ORACLE_HOME>¥Apache¥jdk に JDK 1.2.2_07 が インストールされています。インストール済みの JDK のバージョンは、次のコマ ンドで確認することが可能です。 java -version その他のインストール要件は次の通りです。 オペレーティングシステム Solaris 2.6 / 2.7 / 2.8 HP-UX 11.0(32bit/64bit) AIX 4.3.3

Compaq True64 UNIX 4.0d-g / 5.0 / 5.0a / 5.1 Windows NT(Service Pack5 以上) Windows 2000(Service Pack1) Linux Redhat Linux7.1

最小メモリ 12.2 MB ハードディスクの空き容量 ダウンロード: 10MB インストール: 15MB Windows NT を使用する場合の注意事項 Windows NT 上で JDK 1.2.2_07 を使用してインストールおよび実行する際に、次 のようなエラーメッセージが表示されることがあります。

A nonfatal internal JIT (3.10.107(x)) error 'Relocation error: NULL relocation target' has occurred in :

'org/apache/crimson/parser/Parser2.maybeComment (Z)Z': Interpreting method.

Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cgi

このエラーメッセージは、JDK 付属の JIT コンパイラによるもので、OC4J の実 行には影響がありません。エラーメッセージを表示させないためには、次のよう な方法があります。

(5)

JDK を 1.3 にバージョンアップする 次のいずれかの方法で JIT を無効にする - 環境変数 JAVA_COMPILER の値を NONE に設定する 例: SET JAVA_COMPILER=NONE - -D オプションを使って java.compiler=NONE を設定する 例: java –Djava.compiler=NONE …

インストール前の準備

1. 次のサイトから oc4j.zip をダウンロードします。 http://otn.oracle.co.jp/software/app_server/oc4j/oc4j.html 2. ダウンロードした oc4j.zip を適当な解凍ツールを使用して展開します。

Solaris などの UNIX や Linux 上で使用する場合には、次のコマンドを使用 することが可能です。

unzip oc4j.zip

3. oc4j.zip を展開すると、j2ee¥home ディレクトリが生成されます。この資料

では、j2ee¥home ディレクトリを以下<OC4J_HOME>と表記します。 注意事項① HTTP プロトコルのポート番号の設定

Servlet や JavaServer Pages などを実行する際の HTTP プロトコルが使用するポー ト番号は、デフォルトで 8888 に設定されています。他のアプリケーションと競合 している場合は、<OC4J_HOME>¥config¥default-web-site.xml ファイルを編集して ください。

変更前

<web-site port="8888" display-name="Default Oracle9iAS Containers for J2EE Web Site">

(6)

変更例(24000 を使用する場合) <rmi-server port="24000" > 注意事項③ JDK のバージョン OC4J の初期設定は、JDK version 1.2.2_07 を使用するようになっています。1.3.x を使用する場合は、<OC4J_HOME>¥tools.jar ファイルを使用する JDK の lib ディ レクトリにある tools.jar と入れ替えてください。

OC4J のインストール

1. OC4J をインストールするには、カレント・ディレクトリを<OC4J_HOME> に移動し、コマンドラインで次のように実行します。

java -jar orion.jar –install

2. 管理用のパスワードの入力が求められます。ここで入力されたパスワード は、OC4J を再起動/停止する場合など OC4J 付属の管理ツールを使用する 際に必要です。 3. コマンドラインに「Installation done」と表示されれば、インストー ルは完了です。 図 1: インストールが完了した状態

OC4J の起動と動作確認

OC4J を起動するには、カレント・ディレクトリを<OC4J_HOME>に移動し、次 のコマンドを実行します。

java –jar orion.jar

OC4J が正常に起動されたことを確認するには、次の Web ブラウザで次の URI にアクセスしてください。

http://<OC4Jをインストールしたホスト名>:<ポート番号>/

(7)

図 2: OC4J の起動

OC4J の再起動・停止

OC4J を再起動または停止するには、起動するときと同様に、カレント・ディレ クトリを<OC4J_HOME>に移動し、次のコマンドを実行します。

OC4J の再起動

java -jar admin.jar ormi://<OC4Jのホスト名>[:<port 番号>]※1/ admin

<admin-password>※2 -restart

OC4J の停止

java -jar admin.jar ormi:// <OC4Jのホスト名> [:<port 番号>]※1/ admin <admin-password>※2 –shutdown

※1 省略した場合 23791 が使用されます。変更方法については、この資料の5ペー ジ『注意事項② 再起動/停止時に使用するポート番号』を参照してください ※2 インストール時に指定した admin ユーザーのパスワードを指定します

(8)

Servlet/JSP の作成

この章では、簡単な Servlet や JSP を作成するための手順について説明します。

Servlet のプログラミング

今回は簡単なメッセージを表示する Servlet を作成します。 次のサンプル 1を参考に、プログラムを記述し、Tutorial1.java として任意のディ レクトリに保存してください(ソース・コード全体はこの資料の19ページ『サンプ ル・コード』を参照してください)。 サンプル 1

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html; charset=ISO-2022-JP”); PrintWriter out = response.getWriter();

out.println("<html>"); out.println("<head>"); out.println("<title>チュートリアル: Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("世界の皆さん、こんにちは"); out.println("</body></html>"); out.close(); }

Servlet のコンパイル

Oracle JDeveloper などの開発ツールを使用せずに、手動でコンパイルする場合に は、次のような手順が必要です。 1. カレント・ディレクトリを Tutorial1.java ファイルが保存されているディレ クトリに移動します。 2. クラスパスに<OC4J_HOME>¥orion.jar が含まれるように、-classpath オプ ションをつけてコンパイルします。

javac –classpath <OC4J_HOME>¥orion.jar Tutorial1.java

JSP の作成

今回は簡単なメッセージを表示する JSP を作成します。サンプル 2のようにソー ス・ファイルを作成し、任意のディレクトリに tutorial.jsp として保存してください。 サンプル 2

(9)

<%@ page contentType=”text/html;charset=Shift_JIS” %>

<%--OC4Jを UNIX/Linux 環境で実行している場合は、「Shift_JIS」の部分を ソース・ファイル自体を保存する際の文字セットに応じて置き換えてください --%> <HTML> <HEAD> <TITLE>チュートリアル: JSP</TITLE> </HEAD> <BODY> 世界のみなさん、こんにちは </BODY> </HTML>

注意: OC4J の現在のバージョンでは、contentType 属性で指定する MIME タイプと文 字セットの間に空白が入ると、文字化けすることがあります。

(10)

Servlet/JSP のデプロイ

J2EE では、Web アプリケーションという概念が導入されました。Web アプリケーション とは、 Servlet および JSP HTML および XML ドキュメント イメージファイルやカスケーディング・スタイル・シート(CSS)などその他のリソー ス・ファイル など、ブラウザベースのクライアントに対し、動的なコンテンツを配信するプログラムを 構成するファイルを一つにまとめたものです。Web アプリケーションは、ディレクトリ構 造または Web Archive(WAR)と呼ばれるアーカイブ形式で Web コンテナ(Servlet/JSP の 実行環境)上にデプロイ(配置)され、実行されます。

Web アプリケーションのディレクトリ構造

Web アプリケーションをデプロイするには、次のように J2EE で定められたディ レクトリ構造でファイルを配置する必要があります。 図 3: Web アプリケーションのディレクトリ構造 JSP ファイルおよび HTML/XML ドキュメント、イメージ・ファイルなどのリソ ース・ファイルは任意のサブ・ディレクトリを作成し、自由に配置することができ ます。

WEB-INF ディレクトリには、classes と lib の 2 つのサブ・ディレクトリと web.xml

という XML ドキュメントが配置されます。classes と lib ディレクトリは、Web ア プリケーションを実行する際に自動的にクラスパスに追加されます。それぞれの 役割は次の通りです。

(11)

名前 説明

Classes ディレクトリ Servlet や JavaBeans などのコンパイル済みの Java クラス・ファ

イルを配置

Lib ディレクトリ 必要に応じて、Servlet や JavaBeans の実行に必要なアーカイブ・ ファイルを配置

web.xml 必要に応じて Web アプリケーションの設定情報(Servlet の名 前、初期化パラメータなど)を記述

Servlet/JSP のデプロイと実行

OC4J をインストールすると、「defaultWebApp」という Web アプリケーションが 自動的に作成されます。この資料では、8ページ『Servlet/JSP の作成』で作成した Servlet および JSP を defaultWebApp に追加し、実行する手順について説明します。

Servlet のデプロイと実行

1. コンパイルした Servlet のクラスを次のディレクトリにコピーします。

<OC4J_HOME>¥default-web-app¥WEB-INF-classes

2. 「defaultWebApp」の Servlet は、次の URI で実行することが可能です。

http://<ホスト名>:<Port番号>/servlet/<クラス名> この資料の8ページ『Servlet のプログラミング』で作成した Servlet を実行 するには、Web ブラウザで次の URI にアクセスします。 http://<ホスト名>:<Port番号>/servlet/Tutorial1 JSP のデプロイと実行 1. JSP ソース・ファイルを次のディレクトリにコピーします。 <OC4J_HOME>¥default-web-app 2. Web ブラウザで次の URI にアクセスします。 http://<ホスト名>:<Port番号>/tutorial.jsp

(12)

Servlet/JSP で日本語を扱う場合の注意点

この章では、日本語を表示したり、ブラウザから送信された日本語の文字列を正しく扱 う際の注意点についてまとめてあります。

Servlet による日本語の表示

Servlet で日本語を正しく表示するためには、javax.servlet.http.HttpServletResponse クラスの setContentType()メソッドで、コンテンツの MIME タイプの次に文字セッ ト(日本語の場合は、Shift_JIS、ISO-2022-JP、EUC-JP、UTF-8 のいずれか)を指 定し、getWriter()メソッドで java.io.PrintWriter オブジェクトを取得します。 サンプル 3 response.setContentType(”text/html; charset=Shift_JIS”); PrintWriter out = response.getWriter();

JSP による日本語の表示

JSP では、表示するときの文字セットを page ディレクティブの contentType 属性 で指定します(サンプル 4)。ただし、contentType 属性で指定した文字セットとソ ース・ファイル自体の文字セットを一致させる必要があります。 サンプル 4 <%@ page contentType=”text/html;charset=Shift_JIS”>

日本語パラメータの取得

HTTP には、ブラウザから送信されたパラメータの文字セットが何であるか、と いう情報が含まれていません。そのため、多くの Web コンテナは受け取ったパラ メータの文字コードを ISO-8859-1 として処理するという仕様になっているので、 サンプル 5のようにプログラムの中で文字セットを変換するロジックを組み込む 必要がありました。 サンプル 5 //エンコーディングを指定し、byte 配列に戻してから UNICODE に変換 String temp = request.getParameter(”paramName”);

String value =

new String(temp.getByte(“ISO-8859-1”), ”JISAutoDetect”); OC4J は、Servlet API の次期バージョンである Servlet 2.3 の機能を一部サポート しているため、次のような方法で文字セットの変換を行うことが可能です。

(13)

setCharacterEncoding()メソッドの使用

Servlet 2.3 では、javax.servlet.ServletRequest クラスに setCharacterEncoding()メソ ッドが追加されます。例えば、HTML パラメータを送信する HTML の文字セット が Shift_JIS の場合は、次のように使用します。

サンプル 6: setCharcterEncoding()メソッドの使用 request.setCharacterEncoding(“SJIS”);

String value = request.getParameter(“ParamName”);

orion-web.xml に default-charset 属性を指定

orion-web.xml ファイルは、Web アプリケーションが OC4J にデプロイされたと

きに自動的に生成され、OC4J 独自の設定情報を格納しています。例えば、 defaultWebApp の orion-web.xml ファイルは次のディレクトリに生成されています。

<OC4J_HOME>¥application-deployments¥default¥defaultWebApp

OC4J では、orion-web.xml ファイルの<orion-web-app>タグに default-charset 属性 を設定することで、文字セットの変換を Web コンテナに任せることが可能です。 例えば、HTML パラメータを送信する HTML の文字セットが Shift_JIS の場合は、 次のように追加します。 サンプル 7 <orion-web-app deployment-version="1.0.2.2" jsp-cache-directory="./persistence" temporary-directory="./temp" servlet-webdir="/servlet/" default-charset="Shift_JIS" > </orion-web-app> 注意: OC4J の最新バージョン(1.0.2.2.1)では、default-charset 属性が設定されてい ない場合、ISO-8859-1 として変換が行われます。ただし、OC4J 1.0.2.2 で default-charset 属性が設定されていない場合は、次の値が使用されます。

(14)

データベース接続の設定

OC4J では、JDBC 2.0 で新たに追加されたインターフェース DataSource を使用してデータ ベースにアクセスすることが可能です。この章では、Servlet および JSP から JDBC を使用 してデータベースに接続する際に必要な設定方法について説明します。

DataSource とは

JDBC の API を使用してデータベースに接続するには、多くの場合次のようなコ ードが用いられていました。 サンプル 8 Class.forName(”oracle.jdbc.driver.OracleDriver”); Connection conn = DriverManager.getConnection(

”jdbc:oracle:thin:@myhost:1521:ORCL”, ”SCOTT”, ”TIGER” ); このコードでは、使用する JDBC ドライバや接続先のデータベースが実行され ているホスト名などの情報が、Java プログラム内に埋め込まれてしまっています。 そのため、接続先のデータベースが変更になった場合などは、ソース・コードを編 集し、再コンパイルが必要です。 JDBC 2.0 で新たに規定されたインターフェース DataSource は、JNDI(Java Naming and Directory Interface)を使用してデータベースにアクセスすることを可能 なので、接続するデータベースの情報に依存しないプログラムを作成することが 可能になります。 JNDI を使用してデータベースに接続するには次のような手順になります。 ① システム管理者がデータベース接続の情報を格納した DataSource を、 jdbc/orcl のような名前で JNDI サービスに登録 ② Java のプログラムから lookup()メソッドをコール ③ JNDI サービスから DataSource が返される ④ DataSource の getConnection()メソッドにより、Connection を取得 図 4: DataSource と JNDI を使用したデータベース接続

(15)

JNDI を使用したデータベース・アクセスのほかにも、DataSource は次のような 機能を提供します。

接続プーリングの利用

分散トランザクション管理との連携

DataSource の設定

OC4J が提供する JNDI サービスに DataSource を登録し、使用するためには、

<OC4J_HOME>¥config¥data-sources.xml ファイルの<data-source>タグの属性に、接

続するデータベースの情報を記述します。<data-source>タグの主な属性は次の通り です。

属性名 説明

class DataSource を実装したクラスの名前。OC4J がデフォルトで提供す るクラスは com.evermind.sql.DriverManagerDataSource name DataSource を識別するための名前

location DataSource を取得するための論理名(接続プーリングは使用不可) pooled-location 接続プーリングを使用する DataSource を取得するための論理名 Ejb-location EJB から接続プーリングを使用する際に DataSource を取得するた

めの論理名 Xa-location 分散トランザクション管理との連携する場合の論理名 connection-driver 使用する JDBC ドライバのクラス名。Oracle が提供する JDBC ドラ イバを使用する場合は oracle.jdbc.driver.OracleDriver username データベースのユーザー名 password username 属性で指定したユーザーのパスワード url JDBC URL。Oracle Thin ドライバを使用する場合は

jdbc:oracle:thin:@<ホスト名>:<ポート番号>:<SID> inactivity-timeout 接続プールで、データベース・セッションが終了するまでの時間

(16)

データベースにアクセスする Web アプリケーションの作成

この章では、Servlet、JSP、JavaBeans を使用してデータベースにアクセスする Web アプ リケーションの作成について、サンプル・コードを交えながら説明していきます。なお、 サンプル・コード全体はこの資料の19ページ『サンプル・コード』を参照してください。

作成する Web アプリケーション

今回は、社員情報を格納したデータベース表の検索結果を表示する Web アプリ ケーションを作成します。今回紹介する Web アプリケーションは、Servlet・ JavaBeans・JSP で構成されています。それぞれの役割は次の通りです。 コンポーネント クラス/ファイル名 役割 Servlet TutorialServlet2 DB セッションの管理 JavaBeans と JSP のコントロール Employee DB 表のデータをオブジェクトにマッピング JavaBeans EmpData DB から検索結果を取得 JSP emp.jsp EmpData(JavaBeans)のプロパティを取得し、 検索結果を元に HTML を生成 図 5: サンプル・アプリケーションの構成

データベースの準備

サンプル・アプリケーションで使用する EMP 表は、デモ・ユーザーである SCOTT のスキーマに作成されています。存在しない場合は、SQL*Plus で次の SQL ファイ ルを実行してください。 <ORCLE_HOME>¥sqlplus¥demo¥demobld.sql

(17)

DataSource の設定

OC4J が提供する JNDI サービスに DataSource を登録するには、data-sources.xml ファイルの<data-sources>タグの中に<data-source>タグを追加します。次のサンプル 9のように<OC4J_HOME>¥config¥data-sources.xml ファイルを編集して、Oracle JDBC Thin ドライバを使用する DataSource を登録してください。 サンプル 9 <data-sources> ... <data-source class="com.evermind.sql.DriverManagerDataSource" name="TutorialDS" location="jdbc/TutorialCoreDS" pooled-location="jdbc/TutorialPooledDS" connection-driver="oracle.jdbc.driver.OracleDriver" username="scott" password="tiger" url="jdbc:oracle:thin:@<DBのホスト名>:<DB のポート番号>:<SID>" inactivity-timeout="30" /> </data-sources>

Servlet から DataSource を取得

JNDI サービスに登録された DataSource を取得するためには、javax.sql.DataSource および javax.naming.InitialContext をインポートし、doGet()メソッドに次のようなコ ードを追加します。

サンプル 10

InitialContext ic = new InitialContext();

// 接続プーリングを使用しない場合:

// data-sourceタグの location 属性の値を指定

(18)

レクトリに移動し、次のようにコマンドを実行します。

Windows NT/2000 の場合

javac –classpath <OC4J_HOME>¥orion.jar;<OC4J_HOME>¥lib¥classes 12.jar *

UNIX/Linux の場合

javac –classpath <OC4J_HOME>/orion.jar:<OC4J_HOME>/lib/classes 12.jar *

(19)

サンプル・コード

Tutorial1.java import java.io.PrintWriter; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Tutorial1 extends HttpSesrvlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html; charset=ISO-2022-JP”); PrintWriter out = response.getWriter();

out.println("<html>"); out.println("<head>"); out.println("<title>チュートリアル: Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("世界の皆さん、こんにちは"); out.println("</body></html>"); out.close(); } } Tutorial2.java import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; import javax.naming.InitialContext;

(20)

// 接続プーリングを使用する DataSource を取得

DataSource ds = (DataSource) ic.lookup(“jdbc/TutorialPooldDS”);

// DataSourceから Connection を取得

Connection conn = ds.getConnection();

// JavaBeansを初期化し、HttpServletRequest にセット

EmployeeData empsData = new EmployeeData(); empsData.executeQuery(conn); request.setAttribute(“empsData”, empsData); // JSPを呼び出す getServletContext().getRequestDispatcher(“/emp.jsp”) .forward(request, response); // DB接続を閉じる(接続プーリングを使用している場合はプールに戻す) conn.close(); }

catch (NamingException ne) {

throw new ServletException (“DataSourceが取得できませんでした”, ne); }

catch (SQLException se) {

throw new SQLException (“DBアクセス中に例外が発生しました”, se); }

} }

Employee.java

import java.io.Serializable;

public class Employee implements Serializable { String empno = ””; // EMPNOの値を格納

String ename = ””; // ENAMEの値を格納 String job = ””; // JOBの値を格納

// コンストラクタ

public Employee() { }

// EMPNOの値を返す

public String getEmpno() { return empno;

}

// ENAMEの値を返す

public String getEname() { return ename;

}

// JOBの値を返す

public String getJob() { return job;

}

(21)

public void setEmpno(String newEmpno) { empno = newEmpno;

}

// ENAMEの値を設定

public void setEname(String newEname) { ename = newEname;

}

// JOBの値を設定

public void setJob(String newJob) { job = newJob; } } EmployeesData.java import java.io.Serializable; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.SQLException; import java.util.Vector; import Employee;

public class EmployeesData implements Serializable { Vector emps = new Vector();

Employee current = null; int index = 0;

// コンストラクタ

public EmployeesData() { }

// DBから検索結果を取得

public void executeQuery(Connection conn) throws SQLException { Statement stmt = conn.createStatement();

ResultSet rset = stmt.executeQuery( “SELECT EMPNO, ENAME, JOB FROM EMP” );

(22)

return true; } else { return false; } } // 現在行の EMPNO の値を取得

public String getEmpno() { return current.getEmpno(); }

// 現在行の ENAME の値を取得

public String getEname() { return current.getEname(); }

// 現在行の JOB の値を取得

public String getJob() { return current.getJob(); }

}

emp.jsp

<%@ page import=” EmployeesData”

contentType=”text/html;charset=Shift_JIS” %>

<%--注意: charset の値は、ソース・ファイル自体の文字セットと一致させます。 --%>

<jsp:useBean id=”empsData” scope=”request” class=”EmployeesData” /> <HTML> <HEAD> <TITLE>OC4Jチュートリアル・サンプルアプリケーション</TITLE> </HEAD> <BODY> <H1>社員一覧</H1>

<TABLE border=”1” cellspacing=”0”> <TR> <TH>社員番号</TH> <TH>氏名</TH> <TH>職種</TH> </TR> <% while (empsData.next()) { %> <TR>

<TD><jsp:getProperty name=”empsData” property=”empno” /></TD> <TD><jsp:getProperty name=”empsData” property=”ename” /></TD> <TD><jsp:getProperty name=”empsData” property=”job” /></TD> </TR>

<% } %> </TABLE>

(23)

</BODY> </HTML>

(24)

最後に

この資料では、OC4J の Web コンテナと DataSource の設定方法およびアプリケーション 構築方法について簡単に説明しました。より詳細な情報については、今後 OTN-Japan で随 時公開されます。

現在、以下の資料をすでに公開しています。

■ Oracle9iAS Containers for J2EE チュートリアル ∼ EJB 編 ∼ ■ Oracle9iAS Containers for J2EE R1.0.2.2 概要

■ Oracle9iAS Containers for J2EE(OC4J)機能概要 ■ Oracle9iAS J2EE の機能と設計の検討

■ Oracle9iAS Containers for J2EE テクニカル FAQ ■ Oracle9iAS Containers for J2EE EJB に関する FAQ ■ Oracle9iAS における Java 概念と例

また、Oracle9i Application Server は、高速 J2EE 実行環境の OC4J の他にも、最先端企業内 ポータルを実現する Oracle9iAS Portal、Web システム全体のパフォーマンスの向上に効果的 な Oracle9iAS Web Cache、PL/SQL による Web アプリケーション実行環境など、アプリケー ションサーバーとして最も包括的な機能を提供しています。

OC4J が同梱される Oracle9i Application Server R1.0.2.2 は、2001 年 10 月 1 日から出荷を 開始しています。

(25)

日本オラクル株式会社

Copyright(C) Oracle Corporation Japan. All Rights Reserved. 無断転載を禁ず この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されるこ とがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、 本書の内容に関連したいかなる損害についても責任を負いかねます。 Oracle は、オラクル社の登録商標です。Oracle8、Oracle8i、Net8 は、オラクル社の商標ま たは登録商標です。 他のすべての企業名と製品名は、識別のためにのみ掲載されており、それぞれの所有者 の商標の場合があります。

図 2: OC4J の起動

参照

関連したドキュメント

[r]

&lt; &gt;内は、30cm角 角穴1ヶ所に必要量 セメント:2.5(5)&lt;9&gt;kg以上 砂 :4.5(9)&lt;16&gt;l以上 砂利 :6 (12)&lt;21&gt; l

Rumsey, Jr, &#34;Alternating sign matrices and descending plane partitions,&#34; J. Rumsey, Jr, &#34;Self-complementary totally symmetric plane

Views of Kazunogawa Hydroelectric Power Station Dams &lt;Upper dam (Kamihikawa dam)&gt;. &lt;Lower dam

[r]

PLENUMS: For plenum-type structures which use a sealed underfloor space to circulate heated and/or cooled air throughout the structure, apply the dilution at the rate of

When value of &lt;StThr[3:0]&gt; is different from 0 and measured back emf signal is lower than &lt;StThr[3:0]&gt; threshold for 2 succeeding coil current zero−crossings (including

NPO 法人 ユーアンドアイ NPO 法人 結城まちづくり研究会 NPO 法人 よつ葉ナーサリー NPO 法人 らぽーる朋 NPO 法人 リーブルの会 NPO 法人