あなたそんな事も知らないんですかシリーズ
Amebaでブログを始めよう!

前回の宿題:

tomcatってJ2EEサーバなのか?

strutsフレームワークってJ2EEサーバなのか?


tomcatはJ2EE(アプリケーション)サーバとして呼んでよいようです。(俺調べ)

strutsはJ2EEのAPIを利用したフレームワークなので、サーバとは呼べないようです。(俺調べ)



今日のお題:JET(Java Emitter Templates)

jsp風の文法で記述されたテンプレート(雛形)ファイルに、値やらなんやらを埋め込んで

ソースやらxmlやら生成できちゃうエンジンです。

Eclipse JETとかあります。

雛形ファイルは拡張子が*jet(javaソース出力したいなら*.javajet)のファイルで、

コンパイル時に(多分jspコンパイラだと思う)目的のテンプレートファイル(この例でいくと*template.javaみたいな)

を作成してくれます。

んで、このテンプレートのgenerateメソッド呼び出し時の引数として埋め込み用の値

(文字列でもクラスでもなんでもござれ)を渡すと、それが埋め込まれたり判定されたりして、

目的のファイルが自動で生成されちゃう、という、


すげー!


エンジンなのであります。ちなみに、


2005年にはすでに存在していた技術ですorz


精進しよう・・・

今年初めに「Effective Java」を分かり易く解説するぜ!」と勢いこんでブログ書き始めたんですが、

挫折しました。


これからは真面目にですね、もっと身近な題材を取り扱って、Java初心者を脱したいと、心に誓ってぇ、おる次第でございます。


Seasar2を使ってちょいとお勉強しようと思って、ついでにtomcatインストールすっかと思ってapatchのページへ。

フムフム、tomcatのバージョンによってサポートするサーブレット/JSPのバージョンが違うのか。

tomcat5.5のsetupにてトムにゃんこ先生はこう仰っておる。

Java location: The installer will use the registry or the JAVA_HOME environment variable to determine the base path of a J2SE 5 JRE.

そういやJ2SEとJREとJ2EEって、どう違うんだろうか・・・


んで、調べてみた。

可能な限り短く纏めますと、


JRE:javaプログラムを実行するために必要なAPI(関数)群。環境と言ってもよかろう。

用途:予め用意されたjavaプログラムを実行したいならコレだけでよし。


JDK:javaプログラムの開発に必要なツールやAPI群(コンパイラやjar、JREも含む)

用途:自分でjavaプログラムを作成したいならコレがあればよし。


J2SE:java開発標準キット。JDK、JRE等を一まとめにしたものの総称

用途:J2SE≒JDKで間違ってないと思う。J2EE,J2MEとの対比の為にこんな名前を付けたんでしょうか。


J2EE:J2SEに加え、サーバサイド開発用API群(Servlet、JSP等)追加されてるキット

用途:Webアプリケーションのシステム開発したいならコレまで使うべし。


おまけ

J2ME:組み込み系(携帯端末とか)開発用のキット、らすぃ。


JRE、JDK、J2SEの関係っぽい画像をめっけた。

http://i.d.com.com/i/dl/media/dlimage/15/04/95/150495_large.jpeg


javaの公式ページにJREとJ2SEの比較説明があったヨ。

http://www.java.com/ja/download/faq/java_diff.xml


宿題:

tomcatってJ2EEサーバなのか?

strutsフレームワークってJ2EEサーバなのか?