Struts のお勉強


恥ずかしい話、私の Java に対する知識は 1998 年当時のものだ。(あれからもう9年も経ってしまった)ServletJSP が出始めたころ、私はカナダで英語を勉強していたし、Struts が流行り始めたころ、カナダの小さなソフトハウスで VB6 や .Net でプログラムを書いていた。


その後の Java とのかかわりは、某インド系企業で働いていたころ、e-Matrix で多少いじった程度だ。(今から思うと e-Matrix は Servlet/JSP コンテナ上で動くフレームワークだったらしい)TomcatServletJSP の関係も怪しいくらいに知識が乏しかった。(いまでも J2EE の正確な定義を知らないし)


そんな私が一念発起して、Struts の勉強をしてみた。まずは Tomcat を導入し、Servlet / JSP のお勉強。そうそう、思いだした。JSPコンパイルされて特殊な Servlet として動作するんだったっけ。ためしに例によっていつも作る Othello プログラムを JSP で書いてみる。JSP から他のクラスインスタンスをどう呼び出すか、苦労する。JSP では というタグでオブジェクトを生成するらしい。もともとはフォームを表示するためのデータ格納用オブジェクトをやり取りするために作られたタグかもしれないが、実際には、どんなオブジェクトでもやり取りできる。


泣きそうな思いで、Othello プログラムを完成させると、次に Struts を導入してお勉強。なるほどねえー。Struts の本体は、単に jar ファイルに入っているだけなのね。あとは Struts の独自タグライブラリが少々。私が始めてきちんと触った Web フレームワークRuby on Rails だったために、あのフルスタック感に比べると、シンプルな印象。たしかに Model-View-Controller の View と Controller の部分だけを担当するフレームワークなわけで。Model の部分は作りこむか他のフレームワークを使うわけだ。確かに、XML の設定ファイルの記述は煩瑣で閉口する部分がある。これを反面教師にして、Convention over Configuration な Rails が生まれたわけだ。


Struts のすべてを理解したとは到底いえないが、まあどんなものかは大体わかった。あとは仕事で使えば完璧に覚えるだろう。Java 系のフレームワークはその後も進化をつづけ、Spring Framework + Hybernate なんていうのが結構流行っているとかいないとか。もうそれさえ古い、次は XXX だとかいう話もあるんだろうなあ・・・。やれやれ、私はすっかり時代に取り残されている気がする。しかし、こんなややこしいフレームワーク群をすべて理解して使っている職業プログラマはあんまりいない気もする。


Spring Framework の話を見ると今度はやれ DI(dependecy injection)とか AOP (Aspect Oriented Programming) とか不思議な言葉が並んでいる。はあ・・・。私が外国生活をして IT の勉強をサボっている間に、時代は遥か先に行ってしまったみたいね。


[参考サイト]


今回、大変お世話になったのは、


Java の道
http://www.javaroad.jp/index.htm
(Java 入門者にとっての話題が豊富)

Java で HelloWorld!
http://www.hellohiro.com/
(内容はちょい古いが、はじめの取っ掛かりをどうするか教えてくれる)


です。どうもお世話になりました!!