2010-10-07 14 views
0

我有一個Groovy Web應用程序未部署在Google應用程序引擎上。 (GAE)之前我已經使用過Gaelyk,並且我喜歡URL路由功能described in their doc在非谷歌應用程序引擎應用程序中使用Gaelyk URL路由

如何將Gaelyk的路由功能移植到未部署在GAE上的基本Groovy WEB應用程序?

注1:我也不想在這個應用程序中使用Grails。注意2:我不介意包括gaelyk jar,但我寧願不包含任何來自GAE的東西。

+0

你將不得不對你的問題更具體。該文檔解釋瞭如何使用映射功能......您有什麼具體的實現問題? – 2010-10-08 04:33:58

+0

我想從gaelyk的路由方面使用非gaelyk應用程序。 – Tihom 2010-10-08 14:53:41

回答

2

如果你想這個工具自己在自己的非GAE框架,最好的地方開始將是源...

首先,你需要在Gaelyk擴展javax.servlet.Filter類,這是RoutesFilter class

正如您所看到的,在過濾器的init方法中,這會調用loadRoutes,它會通過GroovyShell加載您的routes.groovy腳本。

此外殼使用其他classes in that same package,以便它最終在過濾器中填充List<Route> routes屬性,實例爲Route class

的過濾器(when configured by web.xml)然後攔截所有請求到服務器檢查針對URI每條路線依次(通過調用爲每個路由的forUri方法),並且如果發現匹配,它重定向或轉發根據需要。

如果在Web服務器的上下文中找不到過濾器calls the next filter down the chain

希望這回答你的問題