WeBlowg Side


2008-02-24 Sun 12:26

Wicket in Action chapter3 読了

最近は通勤電車でしか読めていないWicket In Actionですが、やっとChapter3が読み終わりました。

この章は、章題(Setting up a Wicket project)の通りWicketでのプログラミングを始めるにあたっての基本的な設定が網羅されています。
最初に一番つまずきがちな導入部分に一章を割いているのは、著者のやさしさを感じます。
これまでWicketでWebアプリを作った事がある私にはちょっと物足りないと思ったけど、
この章にはAntとMavenについての話があったのでおもしろく読めた。
紹介されている内容は基本的な使い方ではあったけど、丁寧で実践的だったので、
Mavenについて整理できてよかった。
特にWicket自体の開発にも使われているMavenについては、著者の愛が感じられた。

一旦開発を始めると、Mavenの設定ファイルであるpom.xmlの内容は忘れがちだけど、
Wicketでの開発がすぐに始めれるように、これからはpom.xmlの雛形を準備しておくことにしました。

あと、DEVELOP MODE と DEPLOYMENT MODE について。
この二つのモードの違いは、名前の通り開発時と実際に配備して運用する時のモードをわけているもので、
DEVELOP MODEの時は例外発生時に詳細な情報をページに出力するけど、
同じ例外が発生してもDEPLOYMENT MODEの場合はErrorページへ遷移する。

セキュリティの面でDEVELOP MODEで運用するのはご法度。
存在は知ってたけど、Wicketで開発したこのBlogもついついDEVELOP MODEで運用してしまっていたので、
早速 DEPLOYMENT MODE に変更した。深く反省。

ちなみにDEPLOYMENT MODEするには、web.xmlに設定するか、
  <context-param>
  	<param-name>configuration</param-name>
  	<param-value>deployment</param-value>
  </context-param>
WebApplicationを継承したクラスでメソッドをオーバーライドして、"deployment"を返すようにすればOK
	@Override
	public String getConfigurationType() {

		return Application.DEPLOYMENT;
	}
このようにしておけば、例外が発生した場合にWebApplicationを継承したクラスのinitメソッドで定義したエラーページに遷移してくれます。
エラーページの定義は以下のようにします。
getApplicationSettings().setInternalErrorPage(ErrorPage.class);
後は普通のWicketのページのように、ErrorPage.javaとErrorPage.htmlを実装しておけばOK

これでやっとChapter3まで読めたけど、まだまだ先は長い。。。

Wicket in Action Table of Contents
Part 1 Getting started with Wicket
1. What is Wicket?
2. The architecture of Wicket
3. Setting up a Wicket project
4. Building a cheesy Wicket application

Part 2 Getting a basic grip on Wicket
5. Understanding models
6. Using basic components
7. Using forms for data entry
8. Composing your pages

Part 3 Advanced Wicket
9. Creating custom components
10. Creating rich components
11. Authorization and authentication
12. Working with resources
13. Localization and internationalization
14. Database driven applications
15. Putting your Wicket application in production
16. Component index

Comment:

>あと、DEVELOP MODE と DEPLOYMENT MODE について。
このモードの切替えちょっと悩みました・・。
1.2ではconfigure()のパラメータで指定できたようですが、1.3では?あれ?ないよ??って(笑

あと、ResourceModel.getObject(Component)が・・・
component.getLocalizer()など使いたい場合どうするんだろ??って悩んだりしています。

やっぱりちゃんとソース追っかけないとダメかもしれませんね。

-- Saxman
2008-02-26 Tue 23:25

Wicketの1.2と1.3の違いが詳しいのは、Wicket Wikiでしょうね。
http://cwiki.apache.org/WICKET/migrate-13.html

Wicketは「ソースよめ」って文化が少なからずあるような気がします。
OpenBSDのようなドキュメントの充実度が理想なんで、その点は大いに不満な点です。
それに代わるものとしてMLを位置付けてて、すごく活発なんですけどね。

-- tma
2008-02-28 Thu 21:49



画像に書かれている文字列を入力してください:

名前 :
コメント :



最近のコメント
tma
Saxman
tma
Saxman
tma

最近のエントリー
Javaでわくわくしていますよ!
Wicket In Action Chapter8読了
Wicket In Action Chapter9読了
TOEICの結果発表
Javaもまだまだ驚きがいっぱい