用 Groovy 編寫 Google App Engine 應用(四)

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

求救於 Groovlets

上述的例子說明如何利用 Groovy 語言編寫古老的 Java servlet 。利用 Groovy 以及 Groovlets 可以更輕鬆的作到這件事。

在極小的容器中, Groovlets 只不過就是存放在 WEB-INF/groovy 目錄下的 Groovy 腳本,Groovy servlet 調度器被用來編譯和渲染這些腳本。

首先,更新 web.xml,增加一個 GroovyServlet, 以及一個 URL 映射,使得所有能被模式 *.groovy 匹配上的 URL 都會轉向它。

<web-app xmlns=”http://java.sun.com/xml/ns/javaee” version=”2.5″>
<servlet>
<servlet-name>GroovyServlet</servlet-name>
<servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GroovyServlet</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

接著在 WEB-INF/groovy 下創建第一個 Groovlet 腳本,

hello.groovy:

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

這個 Groovy 腳本採用了一個名為 html 的variable bound來同 MarkupBuilder 的實例進行綁定。MarkupBuilder 是一個為了創建各種 XML 或 HTML 標記又小又有用的領域特定語言。 MarkupBuilder 用更清晰更 Groovy 的語法替代了依靠一行一行通過 println 語句輸出HTML字符串的形式。 當然,你可以通過混合一些循環和條件讓這個標記語言更加動態。

在重新上傳這個應用之後,你現在可以通過 http://myowngroovy.appspot.com/hello.groovy 來訪問這個 Groovlet 了。這次你就不需要編譯任何東西了,因為編譯這些 Groovlets 腳本是 GroovyServlet 的事情。

參考來源

用 Groovy 編寫你自己的 Google App Engine 應用

Related Posts


Comments are closed.