2003年度 データベース論

2004年度 J2EE II
稚内北星学園大学
情報メディア学部
専任講師 安藤 友晴
1
この講義の位置づけ


3年前期の「データベース論 (J2EE I)」に
続く講義。
「データベース論」の講義内容を理解して
いることが前提。
2
データベース論 (J2EE I) で
学んだこと (1)

J2EEの概要
3
データベース論 (J2EE I) で
学んだこと (2)

データベース



リレーショナルデータベースとSQLの復習
JDBC
コレクション・フレームワーク
4
データベース論 (J2EE I) で
学んだこと (3)

Webアプリケーションの基礎



HTTPプロトコル
Servlet と JSP
JavaBeans と JSP
5
復習: Servlet と JSP

Servlet



JSP




HttpServlet を継承する Javaプログラム。
HTML を埋め込める (あまり使わないけど)
ほとんどHTML
Javaプログラムを埋め込める (あまり使わない
けど)
どちらもTomcat等の「Webコンテナ」で動く。
普通は Servlet と JSP を組み合わせて使う。
6
この講義で学ぶこと (1)
大目標


J2EEのうち、Webアプリケーションの作成
技法をさらに学ぶ。
「高度な機能を持つ」Webアプリケーション
を、「ラクに」作成できるようにする。
7
この講義で学ぶこと (2)
Servlet と JSP


Servlet と JSP をいかに使い分けるかがポ
イント
使い分けるために、次のような技術を使う



タグライブラリ
セッション管理
MVCモデル2
8
この講義で学ぶこと (3)
JavaServer Faces (JSF)


Webアプリケーションのユーザインタフェー
スを作成するためのもの
Servlet, JSP, JavaBeans などを組み合わ
せて、高機能なWebアプリケーションを簡
単に作ることができる。
9
そのほか大事なこと

次の2つで評価します




3~4回(予定)のレポート
出席(救済措置の意味が強い)
後期末試験は行いません。
http://www.wakhok.ac.jp/~tomoharu/j2
ee2-2004/
10
講義予定 (1)
01. 概要 / Ant
02. タグライブラリとJSP
03. セッション管理
04. MVCモデル2によるWebアプリケーション
05. JSF概説
06. MVCモデル2とJSF
07. JSPの作成
11
講義予定 (2)
08.
09.
10.
11.
12.
画面遷移
パラメータの受け渡し
Action Method の実装
FacesContext クラスの利用
コンバータとバリデータ
12
Ant
J2EE II
第1回
13
ここでの目標

Ant の基本について理解する。
14
Ant の概要
15
Ant とは何か




Javaのプログラムのコンパイルや実行を手
助けしてくれるツール
例えば、コンパイルや実行のときに必要な、
Jarファイルやオプションの指定が楽になる。
「ビルドツール」と呼ばれる。
Unix での make のようなもの
16
Ant の特徴


Javaでできているので、環境に依存しない。
標準で多くの処理が組み込みに。


javac, java, javadoc, cvs, メール送信など。
処理内容はXMLファイルに記述


build.xml というファイルに記述する
makeの「タブ地獄」よ、さようなら。
17
Ant を動かすには


環境変数 ANT_HOME の設定が必要
%ANT_HOME%\bin に path を通す
18
build.xml の記述
19
build.xml





Ant では、プログラムのコンパイルや実行
の方法を build.xml というファイルに記述
する。
ひとつのproject要素
projectには複数のtarget要素
targetには複数のtask
propertyで名前と値をペアで管理
20
property


名前と値がペアになっているもの
プロパティの設定
<property name="srcDir" value="src" />

プロパティへのアクセス
${srcDir}
21
task


処理の最小単位
さまざまなtaskが標準で用意されている




java / javac / jar / javadoc
mkdir / zip
tstamp
など
22
javac という task
<javac srcdir="${srcDir}"
destdir="${classDir}" />



ソースファイルのコンパイルを行う
srcdir 属性がソースファイルのありか
destdir 属性がクラスファイルの生成先の
ディレクトリ
23
target (1)

複数のtaskをまとめたもの


例えば、「ディレクトリを作って」「コンパイルを
行う」など
Ant で処理を行う場合の基本単位
24
target (2)
<target name="compile“ depends="init">
<mkdir dir="${classDir}" />
<javac srcdir="${srcDir}"
destdir="${classDir}" />
</target>

“compile” というターゲット名
25
targetの依存関係 (1)




このtargetを処理するために必要なtarget
たとえば、Jarファイルを作成する前にコン
パイルが必要。
あるtargetだけを取り出して処理することも
可能。
たとえば、Javadoc の作成など。
26
targetの依存関係 (2)
compile の前に init の処理
<target name="compile" depends="init">
<mkdir dir="${classDir}" />
<javac srcdir="${srcDir}"
destdir="${classDir}" />
</target>
<target name="jar" depends="compile">
<jar jarfile="csv.jar"
basedir="${classDir}" />
</target>
27
パターン (1)


ファイルやディレクトリの指定で、Windows
や Unix のようなパターンを使える。
*.java



.java や a.java にマッチ。
a.xml にはマッチしない。
?.java

b.java にマッチ。 .java にはマッチしない。
28
パターン (2)

csv/**


csv ディレクトリ以下の、すべてのファイル・
ディレクトリにマッチする。
**/*.java

すべてのディレクトリの *.java にマッチする。
29
もう一つの例
30
環境変数の取得


環境変数をよみこみ、env という変数に格
納
<property environment="env"/>
環境変数 JWSDP の値(+ /jaxrpc)を、
jaxrpc.home プロパティの値とする。
<property name="jaxrpc.home"
value="${env.JWSDP_HOME}/jaxrpc"/>
31
クラスパスの設定 (1)
<path id="wspack.classpath">
<pathelement location=
"${jaxrpc.home}/lib/jaxrpc-api.jar"/>
<pathelement location=
"${jaxrpc.home}/lib/jaxrpc-impl.jar"/>
</path>
32
クラスパスの設定 (2)
<target name="compile" depends="init">
<javac srcdir=".">
<include name="*.java" />
<classpath>
<path refid="wspack.classpath"/>
</classpath>
</javac>
</target>
33
Ant の実行
34
Ant の実行 (1)


build.xml があるディレクトリで実行する。
ant



デフォルトの target が実行される。
この場合は all という target
このとき、target の依存関係をたどり、必要な target
から順に実行される。
<project name="csv" default="all" basedir=".">
35
Ant の実行 (2)

ant compile

compile target が実行される。
36