前回の宿題:
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サーバなのか?