Google App EngineとSlim3で始める携帯Web入門:クラウドとフレームワークで超簡単ケータイ開発(1)(3/3 ページ)
数年前に比べケータイ向けサービス構築を支援するフレームワークやノウハウがたまってきて、そして無料または、格安でサービスを公開できる仕組み(クラウドやVPSなど)も普及している今こそ、ケータイ向けサービス開発を始めるチャンスではないでしょうか
まずは、絵文字でHello World!
Eclipseで「build.xml」を選択し、[Run](実行)→[Ant Build](Ant ビルド。3番目の項目)を選択します。以下のダイアログが表示されるので、デフォルト値の「gen-controller」のまま、[Run](実行)ボタンを押下します。
ダイアログボックスに「/twitter/」と入力し、[OK]を押下します。
すると、コントローラクラスファイルが2つとJSPファイルが1つできます。
- com.hayato.gpstweet.controller.twitter.IndexController
- com.hayato.gpstweet.controller.twitter.IndexControllerTest
- war/tweet/index.jsp
作成されたJSPファイル「war/twitter/index.jsp」を編集します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
「」は、太陽の絵文字をUnicodeのテキスト入力で指定しています。
「http://localhost:8888/twitter/」にアクセスし、Webブラウザで確認します。FireMobileSimulatorを有効にしていない場合、絵文字は表示されません。
Firefoxのメニューから[ツール]→[FireMobileSimulator]→[DC P903i]を選択し、ドコモの携帯電話をシミュレートします。
Webブラウザを再読み込みすると、以下のように絵文字が表示されます。
GAE上にデプロイすれば、ケータイからアクセスしても同じように表示されます。
これは便利! Slim3の主な基本機能
ここで、Slim3の基本機能を押さえておきましょう。
URLパスとコントローラとJSPの関係
Slim3は、リクエストURLパスをコントローラに自動的にマッピングします。以下の関係で、呼び出されるコントローラが決定します。
リクエストURLパス | コントローラ |
---|---|
/ | <slim3.rootPackage>.controller.IndexController |
<slim3.rootPackage>.controller.TwitterController | |
/twitter/ | <slim3.rootPackage>.controller.twitter.IndexController |
/twitter/tweet | <slim3.rootPackage>.controller.twitter.TweetController |
<slim3.rootPackage>は、web.xmlで指定します。今回の場合、「com.hayato.gpstweet」となります。
コントローラから呼び出されるJSPは、コントローラのソースコードで指定します。
画面遷移
コントローラクラスは、org.slim3.controller.Controllerクラスを継承し、run()を必ず実装します。コントローラを呼び出すと、このrun()を実行します。run()の戻り値は、org.slim3.controller.Navigationクラスとなり、そこでJSPを指定します。
JSPをレンダリングする場合は、以下のようにします。run()の処理が終了後、index.jspが呼び出されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
別のページへリダイレクトする場合(コントローラ指定)は以下のようにします。IndexControllerにリダイレクトされます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
別のページへリダイレクトする場合(URL指定)は以下のようにします。「http://www.atmarkit.co.jp/」にリダイレクトされます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
リクエストとセッションの操作
HttpServletRequestやHttpSessionにアクセスする方法として、org.slim3.controller.ControllerクラスにrequestScope()とsessionScope()があります。
キーを指定して、値を取得する場合は、requestScopeを使います。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また、以下のようにリクエストから値を取得する際に型変換を行う便利なメソッドがあります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
キーを指定して、値を保存する場合は、sessionScopeを使います。
いつでもどこでもつぶやける機能を追加
いかがでしたでしょうか。クラウドやフレームワークを使うことでケータイ向けWebアプリを超簡単に作れることが理解できたかと思います。次回以降、本稿で作成したサンプルに機能を足していきます。完成版のサンプルコードを最終回でダウンロードできるようにしますので、まずは自身で作ってみてください。
ケータイは、いつでもどこでも触れるため、何げなくつぶやくためのデバイスとして最適です。そこで次回は、Java言語のライブラリ「Twitter4j」からTwitterのAPIを操作する方法を解説します。どうぞお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 5分で絶対に分かるモバイルSEO
- クラウドで動くGPS連動スマホ用Webアプリを作る
たぶん1時間でできるマッシュアップ講座 - iPhoneで動かす業務用Webアプリ開発入門
- 携帯アプリを作って学ぶJava文法の基礎