GroovyとGoogle App Engineでアプリ開発(前編)
~GroovyでWeb開発を行うための基本
Groovy+GrailsでRailsなWeb開発 番外編 前編
Groovletを作成する
意外と簡単にGroovyでサーブレットが作れてしまいました。ソースコードを見ても、Javaのサーブレットとほとんど変わらないので、Javaに慣れていればすぐに作れます。しかし、「Javaそっくり」ということは、逆にいえば、Javaサーブレットの面倒臭さも同じように引きずっているということでもあります。せっかくGroovyが使えるのに、Groovyらしさが発揮できないのでは仕方ありません。もっとGroovyらしいWeb開発を行ってみましょう。
Groovyには「Groovlet」という機能があります。アプレットやサーブレットのGroovy版のようなもので、簡単なスクリプトでWebページを作成できます。これを使ってみましょう。
まず、web.xmlにGroovletのためのサーブレットを登録します。<web.app>内に、次のように追記してください。
<servlet> <servlet-name>GroovyServlet</servlet-name> <servlet-class>groovy.servlet.GroovyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>GroovyServlet</servlet-name> <url-pattern>*.groovy</url-pattern> </servlet-mapping>
これで、.groovy拡張子のファイルは、そのままGroovyServletによって処理されるようになります。続いて、Groovletのスクリプトを作成します。WEB-INF内に「groovy」というフォルダを作成してください。そして、この中に「hello.groovy」というファイルを作成しましょう。ソースコードは次のようになります。
html.html {
head {
title "Hello"
}
body {
h3 "Groovlet"
p "Welcome to Groovy world!"
}
}
これで、Groovletのスクリプトが作成できました。ローカル環境のテストサーバで実行してみてください。先に述べたように、コマンドプロンプトからの実行ではGroovlet/GSPは正常に動作しないので、Eclipseから実行しましょう。
Googleへのデプロイ
動作を確認したら、できあがったプログラムをGoogleのサイトにデプロイをしましょう。まず、Eclipseの[プロジェクト]メニューの[プロパティ]を選んで設定ウインドウを呼び出してください。そして[Google]内の[App Engine]を選択し、デプロイメントの[アプリケーションID]に、GAEのサイトに登録したアプリケーションの名前を設定してください。

これで、ツールバーにある[Deploy App Engine Project]アイコンをクリックすると、デプロイを開始します。最初に、認証に使うメールアドレスとパスワードを尋ねるダイアログが現れますので、そこでアカウントとして登録してあるアドレスとパスワードを入力すればデプロイが開始されます。
Eclipseを使わないでデプロイすることもできます。コマンドプロンプトでプロジェクトのディレクトリに移動し、次のように実行してください。
appcfg update war/
パスワードを入力すると、後は自動的にファイルのデプロイが実行されます。
無事にデプロイできたら、サイトにアクセスしてGroovletの表示を確認しましょう。URLは「http://アプリケーション名.appspot.com/hello.groovy」になります。
GAEのアプリケーションは、「アプリケーション名.appspot.com」というドメインで公開されます。この中のhello.groovyにアクセスすれば、ページが表示されます。

この記事は参考になりましたか?
- Groovy+GrailsでRailsなWeb開発連載記事一覧
-
- GroovyとGoogle App Engineでアプリ開発(番外編) ~GAEで利用でき...
- GroovyとGoogle App Engineでアプリ開発(後編) ~Googleのサー...
- GroovyとGoogle App Engineでアプリ開発(前編) ~GroovyでWe...
- この記事の著者
-
掌田 津耶乃(ショウダ ツヤノ)
三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
