GAE上groovy初嘗試

 在GAE宣佈支持java不久,spring的Blog上就有了一篇關於使用groovy在GAE上進行開發的文章。參照這篇文章,我就小試一把,發現還是挺爽的。

參照文章的網址爲http://blog.springsource.com/2009/04/07/write-your-google-app-engine-applications-in-groovy/

 

   首先下載作者提供的模板程序,接着修改appengine-web.xml文件

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>你的applicationId</application>
    <version>1</version>
</appengine-web-app>

   創建傳統的servlet,在groovy中與java沒有多大的區別,不過可以使用groovy的語法足矣。傳統servlet就不多說了。

   Groovlet框架是groovy對傳統servlet的簡化。使用Groovlet非常簡單,首先跟傳統的servlet一樣需要在web.xml中 進行servlet的設置,但是不同的是使用groovlet只需設置groovy.servlet.GroovyServlet,接下來創建的多個 Groovlet都不用再進行設置。web.xml設置如下:

 <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>

 在deploy/WEB-INF/groovy中創建一個hello.groovy

html.html {
	head {
		title "Hello"
	}
	body {
		p "Hello Groovy World!"
	}
}
 

    再創建一個test.groovy內容如下:

html.html {
	head {
		title "Weclome to test"
		meta(charset:"UTF-8")
		link(rel:"stylesheet",type:"text/css",href:'test.css')
	}
	body {
		
		div{
			p("您好,${request.getParameter('name')}")
		}
		div{
			p("歡迎你來到groovlet的世界!")
		}
	}
}

   爲配和test.groovy需要一個頁面提交一個姓名,在deploy/下創建一個index.html

<html>
	<head>
		<meta charset="UTF-8">
		<title>Groovy的簡單測試</title>
		<link rel="stylesheet" type="text/css" href="test.css">
	</head>
	<body>
		<form method="get" action="test.groovy">
			<div> 請輸入你的姓名</div>
			<table>
				<tr>
					<td>姓名</td>
					<td><input type="text" name="name"/></td>
				</tr>
				<tr>
					<td><input type="submit"/></td>
				</tr>
		</form>
	</body>
</html>
 

接下來就是部署了,這裏需要注意的是要設置appengine-java-sdk相關的環境變量,將bin加入到path中

我的環境變量的設置如下:

APPENGINE_HOME=D:\dev\env\appengine-java-sdk-1.2.0

path=%APPENGINE_HOME%\bin

設置完畢後,進入命令提示符,切換到該項目的根目錄下,運行

appcfg update deploy/

 如果你要寫傳統的servlet還需要在上上傳前進行編譯

groovy build

 

上傳成功後,分別訪問http://你的id.appspot.com/hello.groovyhttp://你的id.appspot.com/index.html, 我們可以發現提交到test.groovy後,寫的中文都是亂碼,而提交的中文不是亂碼,這個的原因我查了一下應該是GroovyServlet會使用系統預設的編碼讀取Groovlets ,所以需要使用-Dfile.encoding=UTF8,項目運行在gae上,不知道該如何設置。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章