「Wicketでhello worldを作る」の編集履歴(バックアップ)一覧はこちら

Wicketでhello worldを作る」(2007/12/05 (水) 21:38:41) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Wicketの動作に必要な最小構成で、まずは動かすのに必要なものを確認するっ *【前提】 Eclipse 3.3 + WTP で、Tomcat環境が出来とるという前提です。 [[Webアプリのための標準プラグイン「WTP」>http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html]] 自分が Maven2 の使い方を理解できてないので、フォルダ構成はWTP準拠になってます・・・。 Maven2勉強しないとなぁ・・・。 と思ったら、めそらぼさんのところで Maven2 使う方法が解説されとる!! [[Wicketプロジェクトはたった一行のコマンドで始められる>http://mesolabs.com/2007/11/16/wicket-quickstart/]] いまどきは、Maven2でビルドしてJettyなのか~ *1.新規プロジェクト作成 "Web" - "Dynamic Web Project" を選択 プロジェクト名は、meke_wicket という名前にしました。 *2.必要なJarをそろえる。 WebContent/WEB-INF/lib に、以下のjar ファイルを入れる wicket-1.3.0-rc1.jar slf4j-api-1.4.3.jar logback-core-0.9.8.jar logback-classic-0.9.8.jar Wicket と Slf4J + Logback の構成です。 #WicketのJar1個に対して、ログ関連のJar3個かYO! *3.トップページを作る srcフォルダの下に、meke_wicket.page というパッケージを作成して、トップページを作ります。(注1) ここでは、HomePage.java, HomePage.html を作成します。 package meke_wicket.page; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage() { this.add(new Label("label", "メケ")); } } <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Wicket トップページ!</title> </head> <body> こんにちは!<span wicket:id="label">ダミー</span>さん! </body> </html> *4.WebApplicationクラスとフィルターを作成する WebApplicationクラスとWicketFilterのそれぞれに対して拡張クラスを作ります。 WebApplicationクラスは、Wicketのアプリケーション全体の設定を行っています。 それを、WicketFilterクラスを使って初期化します。 package meke_wicket; import meke_wicket.page.HomePage; import org.apache.wicket.Request; import org.apache.wicket.Response; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebApplication; public class MekeApplication extends WebApplication { @Override protected void init() { super.init(); //リクエスト・レスポンス時の文字エンコード getRequestCycleSettings().setResponseRequestEncoding( "UTF-8"); //Wicketが読み込むHTMLファイルのエンコード getMarkupSettings().setDefaultMarkupEncoding( "UTF-8"); } @Override public Class<? extends WebPage> getHomePage() { return HomePage.class; } } package meke_wicket; import org.apache.wicket.protocol.http.IWebApplicationFactory; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.protocol.http.WicketFilter; public class MekeFilter extends WicketFilter{ @Override protected IWebApplicationFactory getApplicationFactory() { return new IWebApplicationFactory(){ @Override public WebApplication createApplication(WicketFilter filter) { return new MekeApplication(); } }; } } *5.web.xml にフィルターを登録 4で作ったフィルターをweb.xml に登録します。 <filter> <filter-name>mekeFilter</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> </filter> <filter-mapping> <filter-name>mekeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 通常は、WebApplicationクラスのみ作成して、web.xml ファイルのパラメーターで登録するっぽいのですが 後になってクラス名やパッケージ名を変えることが良くあるため、リファクタリングに対応できるように WicketFilterクラスを拡張してみました。 (注2) *6.ブラウザから実行してみる。 Tomcat起動してみて、以下のURLにアクセス! http://localhost:8080/meke_wicket/ やった!出た!!(はず) 注1: パッケージ名がJavaの命名規約と違いますが、、、簡単なサンプルアプリ動かすのにドメインに対応した階層掘るの面倒だし、まぁいいじゃないかと。(ダメ) すんません。許してください。 注2: 独自フィルターを用意しない場合は、以下のようになります。 <filter> <filter-name>mekeFilter</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>meke_wicket.MekeFilter</param-value> </init-param> </filter> <filter-mapping> <filter-name>mekeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> #comment
Wicketの動作に必要な最小構成で、まずは動かすのに必要なものを確認するっ *【前提】 Eclipse 3.3 + WTP で、Tomcat環境が出来とるという前提です。 [[Webアプリのための標準プラグイン「WTP」>http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html]] 自分が Maven2 の使い方を理解できてないので、フォルダ構成はWTP準拠になってます・・・。 Maven2勉強しないとなぁ・・・。 と思ったら、めそらぼさんのところで Maven2 使う方法が解説されとる!! [[Wicketプロジェクトはたった一行のコマンドで始められる>http://mesolabs.com/2007/11/16/wicket-quickstart/]] いまどきは、Maven2でビルドしてJettyなのか~ *1.新規プロジェクト作成 "Web" - "Dynamic Web Project" を選択 プロジェクト名は、meke_wicket という名前にしました。 *2.必要なJarをそろえる。 WebContent/WEB-INF/lib に、以下のjar ファイルを入れる wicket-1.3.0-rc1.jar slf4j-api-1.4.3.jar logback-core-0.9.8.jar logback-classic-0.9.8.jar Wicket と Slf4J + Logback の構成です。 #WicketのJar1個に対して、ログ関連のJar3個かYO! *3.トップページを作る srcフォルダの下に、meke_wicket.page というパッケージを作成して、トップページを作ります。(注1) ここでは、HomePage.java, HomePage.html を作成します。 package meke_wicket.page; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage() { this.add(new Label("label", "メケ")); } } <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Wicket トップページ!</title> </head> <body> こんにちは!<span wicket:id="label">ダミー</span>さん! </body> </html> *4.WebApplicationクラスとフィルターを作成する WebApplicationクラスとWicketFilterのそれぞれに対して拡張クラスを作ります。 WebApplicationクラスは、Wicketのアプリケーション全体の設定を行っています。 それを、WicketFilterクラスを使って初期化します。 package meke_wicket; import meke_wicket.page.HomePage; import org.apache.wicket.Request; import org.apache.wicket.Response; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebApplication; public class MekeApplication extends WebApplication { @Override protected void init() { super.init(); //リクエスト・レスポンス時の文字エンコード getRequestCycleSettings().setResponseRequestEncoding( "UTF-8"); //Wicketが読み込むHTMLファイルのエンコード getMarkupSettings().setDefaultMarkupEncoding( "UTF-8"); } @Override public Class<? extends WebPage> getHomePage() { return HomePage.class; } } package meke_wicket; import org.apache.wicket.protocol.http.IWebApplicationFactory; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.protocol.http.WicketFilter; public class MekeFilter extends WicketFilter{ @Override protected IWebApplicationFactory getApplicationFactory() { return new IWebApplicationFactory(){ @Override public WebApplication createApplication(WicketFilter filter) { return new MekeApplication(); } }; } } *5.web.xml にフィルターを登録 4で作ったフィルターをweb.xml に登録します。 <filter> <filter-name>mekeFilter</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> </filter> <filter-mapping> <filter-name>mekeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 通常は、WebApplicationクラスのみ作成して、web.xml ファイルのパラメーターで登録するっぽいのですが 後になってクラス名やパッケージ名を変えることが良くあるため、リファクタリングに対応できるように WicketFilterクラスを拡張してみました。 (注2) *6.ブラウザから実行してみる。 Tomcat起動してみて、以下のURLにアクセス! http://localhost:8080/meke_wicket/ やった!出た!!(はず) 注1: パッケージ名がJavaの命名規約と違いますが、、、簡単なサンプルアプリ動かすのにドメインに対応した階層掘るの面倒だし、まぁいいじゃないかと。(ダメ) すんません。許してください。 注2: 独自フィルターを用意しない場合は、以下のようになります。 <filter> <filter-name>mekeFilter</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>meke_wicket.MekeFilter</param-value> </init-param> </filter> <filter-mapping> <filter-name>mekeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> #comment

表示オプション

横に並べて表示:
変化行の前後のみ表示: