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 應用
Recent Comments