3日目


Hello, Struts2!

なにはともあれ、Hello worldを捧ぐ。


ディレクトリ構造

/hello
 └ /WEB-INF
    ├ /classes
  ├ /content
  ├ /lib
  └ /src

web.xml

TomcatのようなWebアプリケーションサーバは/WEB-INF/web.xmlをまず見るのだろう。
Struts2フレームワークがよきにはからってくれるようにお願いしておく。

/WEB-INF/web.xml

struts.xml

Strutsの設定は主にstruts.xmlで行うらしい。Struts2では編集しまくらなくてもよい方法があるようなのでConventionプラグインの作法で進めてみる。

/WEB-INF/src/struts.xml

View

ViewのJSP等は、Conventionプラグイン的には、/WEB-INF/contentに置く。

/WEB-INF/content/index.jsp

lib

/WEB-INF/libに必要そうなjarをコピーする。


デプロイ

こんな感じに表示される、はず。

/hello/



Hello, Velocity!

ViewはJSPではなく、Velocityを使うように置き換えてみる。

Velocity


View

index.vmを置いてみただけで動かなくなるのは何故?
Conventionプラグイン使うと、web.xmlのwelcome-fileは意味無さげ?

/WEB-INF/content/index.vm

lib

/WEB-INF/libにいろいろ追加すると動作した。Velocity固定になるけどいいか。
velocity-1.6.2-dep.jarはvelocity-1.6.2\libじゃなくてvelocity-1.6.2直下にあった。SQLiteのアマルガムみたいなものか。


デプロイ

まあ、JSPと比べるとHTMLそのままだ。速度はどれもたいして変わらないらしく、JSPよりは簡潔で結果が想像しやすいのが利点らしい。

/hello/

戻る