SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Groovy+GrailsでRailsなWeb開発

GroovyとGoogle App Engineでアプリ開発(前編)
~GroovyでWeb開発を行うための基本

Groovy+GrailsでRailsなWeb開発 番外編 前編

Groovy Server Pagesを利用する

 Groovyには、Groovletと並んでもう1つ「Groovy Server Pages(GSP)」という機能も用意されています。これは、JSPのGroovy版といったもので、HTMLのタグにスクリプトを埋め込んで実行させることができます。

 では、これも使ってみましょう。まず、GSPを使うためのサーブレットをweb.xmlに登録します。これは<web-app>内に次のように追記をします。

<servlet>
	<servlet-name>GroovyTemplate</servlet-name>
	<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>GroovyTemplate</servlet-name>
	<url-pattern>*.gsp</url-pattern>
</servlet-mapping>

 これで、gsp拡張子のファイルがGSPとして認識されるようになります。続いて、Google App Engineの設定を修正します。WEB-INFにある「appengine-web.xml」というファイルを開いてください。この<appengine-web-app>タグ内に、以下のタグを追記します。

<static-files> 
	<exclude path="/**.gsp" /> 
</static-files> 

 これで、gsp拡張子のファイルが静的ファイルとしてGAEに認識されるようになります。では、GSPファイルを作成しましょう。「war」内に「hello.gsp」というファイルを作成し、次のように記述してください。

<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
		<title>Hello</title>
	</head>
	<body>
		<h3>Groovy Server Pages.</h3>
		<%=Calendar.getInstance().getTime() %>
	</body>
</html>
WebブラウザからGAEサイトにアクセスしてGSPの表示を確認する
WebブラウザからGAEサイトにアクセスしてGSPの表示を確認する

 これで完成です。これもGoogleのサイトにデプロイして動作確認をしましょう。「http://アプリケーション名.appspot.com/hello.gsp」とアドレスを指定してアクセスすると、GSPの表示が現れます。

 GSPは、JSPと同様に<% %><%= %>を使ってスクリプトを埋め込んで記述することが可能です。また、Calendarを使うのに、java.utilをimportしていないのに気が付くことでしょう。importしなくともクラス類はそのままクラス名でアクセスできます。このあたり、JSPよりもぐっと使いやすいです。

 GroovletとGSP、いずれも使いこなせば非常にWeb開発を便利にしてくれるものです。しかし、現時点で、大きな問題があることも触れておかなければいけません。それは、「GAEで利用すると、いずれも日本語が化ける」という問題です。

 サーブレットについては問題ありませんし、またその他のコンパイルされたクラス類についても問題はありません。要するに、「事前にコンパイルされていれば大丈夫だが、テンプレートのような形でその場でコードを生成するタイプのものは日本語が正しく表示されない」ということのようです。従って、現状では、サーブレットやBeanなどと組み合わせて使っていくことになるでしょう。

まとめ

 今回は、GAEを利用するための準備と、サーブレット・Groovlet・GSPといったGroovyでWeb開発を行うための基本的な機能について一通り説明しました。GAEの開発の基本は、「Javaのサーブレットコンテナで動くWebアプリケーション」と実はほとんど同じです。ですから、GroovyによるWeb開発の基本が分かれば、すぐにでも使うことができるのです。

 ただし、一般的なWebアプリケーションと違う点もあります。それは、「Googleが提供するサービスを利用できる」という点です。次回は、これらの利用について説明を行います。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Groovy+GrailsでRailsなWeb開発連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4192 2009/08/17 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー