Struts2.1.8を使ってみた
struts2系の導入練習で、Hello world作成。
参考サイトは幾つか見つけましたが、
http://www15.plala.or.jp/k_maeba/struts2/hello/index.html
http://journal.mycom.co.jp/special/2007/struts2/003.html
http://www.limy.org/program/java/struts2/first.html
最もシンプルかつファイル設置場所などわかりやすかったのが↓
http://codezine.jp/article/detail/2296?p=3
シンプル・イズ・ザ・ベスト。
ということで倣ってやってみましたが・・・・
ですが、実際に達成するまでには諸処”違い”がありました・・・・
2.0と2.1 必須jarが変わった?
まず、今回使った最新のstrutsのバージョンは2.1.8ですが、この記事は2.0.11。
記事で「必須」として上げられていたjar
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
これに該当しそうなのは・・・
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar ←?
xwork-*に、 core なんて名称がついてます・・・。
でも他に該当しそうなjarもありませんし、コレのことだろうと解釈して、WEB-INF/lib以下に設置(ビルドインはせず)
他、参考記事と同様
- /HelloProject/WEB-INF/web.xml
- /HelloProject/index.jsp
- /HelloProject/WEB-INF/src/strutd.xml
- /HelloProject/WEB-INF/src/part1/Hello.java
設置してみましたが・・・・
爽やかに、エラー ^^;
HTTPステータス 404 -
type ステータスレポートメッセージ
説明 The requested resource () is not available.
2.0と2.1 web.xmlの違い
バージョンの違いかな、とググるとでてきた情報。
2.0.*系とは、web.xmlの書き方が違うようです
http://www.sorich.jp/blog/shimamura/2008/09/struts212tomcat.html
2.1系は、filterにinit-param でactionPackagesの設定が必要
struts2
org.apache.struts2.dispatcher.FilterDispatcher
actionPackages
という情報を、一緒に挑戦してた先輩に伝えると
「その修正でできた」
という回答!
・・・私はまだ、エラーになります。
遠隔地(チャット)なので、微妙に状況がわかりません(汗)
そうだ、ログを見よう
あからさまなソース違いに惑わされましたが(駄目)、Tomcatのログを見てみることにしました。
最初のエラー
com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
致命的: Dispatcher initialization failed
logging 関連のエラーのようですが・・・・