ku-sukeのブログ

Just another hatena blog

最近のJAVAってみんな何使ってるの?

ふとPHP漬けの毎日からJAVAが気になりだした。
自分の経験は、jdkが1.4 Tomcatが5.0.28 S2Daoの割と初期のころ使ってた経験があるのですが

  • いまってjdkの5 or 6 ? SEとEEはどっちがメジャー?
  • Tomcat って6 ?
  • SAStruts とか S2jdbc とかに興味があるんだけど、Strutsって1? 2?
  • ViewはHTMLパーサじゃない系が良いんですが(Velocityとか)Velocityってまだ現役?

などなど、ぜんぜんわかりませんでした。List型に Listって宣言するんですね。
ふひーーー

アノテーション!!!!

なんか見て回るたびに見慣れないコードにたどり着く。
アノテーションっていって、アットマークをメソッドのうえに書くと、メタデータのようにプログラムから扱えるらしい。もうドキュメントいらんやん。SAStrutsは(というかSeasar全般?)はこのアノテーションを使うらしいことが分かった。道は遠そうだー。

SAStrutsの良さそうなところ。

  • アクションフォームがいらない(Dtoが兼任?)
  • HotDeploy対応(Seasarの機能/LLみたいにコードいじったら即反映される。)
  • なんか超活発。
  • struts.configがいらない!
  • hogehoge.com/some/action みたいな今時のURLがつかえる。
  • 中の人(id:dewaさん)が超速コメントしてくれる(Seasarカンファレンス行きたかったなー東京だから無理だけど。)

久々にJAVA環境を準備してみる

ーー超ものぐさ仕様です。あしからず。

  1. MacだけどものぐさするためにWindowsXP(VM上)を使用します。ファン回りまくり。
  2. xamppをインストール → http://www.apachefriends.org/jp/xampp-windows.html#2671
  3. JAVA 6 sdkもインストールしておく。 → http://java.sun.com/javase/downloads/
  4. xampp Add on (Tomcat)をインストール → 上記xamppのちょっと下。
  5. Pleiades All In One(JREつきWTPのやつ)をインストール → http://mergedoc.sourceforge.jp/
  6. SAStrutsからチュートリアルとブランクを落としてくる。→ http://sastruts.seasar.org/download.html

xampp/Tomcat/jdkいらんかった!!

恐るべしPleiades。JRE付を選ぶと、jdkTomcatもれなくついてくる!!
「インストール済みのJRE」も設定済みだよママン!
超便利すぐる。まぁちょっとしたテストサーバ用途であれば、よいかもしれないけど、8080でテストしてるうちはいらないやーね。

チュートリアルを実行

チュートリアルはTomcat Launcherて書いてあったけど(Sysdeoのやつかな?)Pleiadesなので「サーバー」ってやつを使う。でもチュートリアルなのでやっぱりSysdeoいれる。

普通に5秒くらいで起動する。一番上の足し算を見てみる。
http://localhost:8080/sa-struts-tutorial/add/
というシンプルなURLです。これに関連するアクションクラスが
tutorial.action.AddAction
さらに関連するviewが
WEB-INF/view/add/index.jsp

わかりやすい!!!!!!!

Struts.configは本当に空っぽ。コントローラとか言うのにseasarが登録されてた。action-mappingはすっからかんでした。

HotDeployを試してみる

さっきのAddActionをTomcatが起動したまま編集して、引き算にしてみる。保存してみたがなにもおこらない。あーアクセスするごとにデプロイするのかーーー。
へーーーー便利!!

これはLLユーザがJAVAに手を出しやすいかも。心理的に。いやマジで。
Eclipse+WTPとかであれば、javaを保存した瞬間ビルド→デプロイ→コンテキストリロードになるんだけど、その時間がもったいない。かつちょっと昔のマシンなんかだと、コンテキスト起動時にいろいろとロードする関係でめちゃめちゃ重くなったりする。そりゃーへたするとタバコいってくるぐらい。
それがこのHotDeployがあればなくなるっぽい。ビルドしてclassファイルを生成すると、HotDeployさんがそのclassファイルだけを再読み込みしてくれる(ような気がする)

トレードオフとしては1アクセス毎の処理が遅い気がする。普通のプロジェクトだと0.5秒くらいでレスポンスがかえるところ、1.5秒くらいかかる感じ。でもそんなの全然良い!これは本当にアツイです。

まとめ

seasar超アツい。SAStruts超アツい。会社でも使いたい。けどまずなんか作る。