Google App Engine Java 世界中的 MVC

我是从C#和 ASP.NET MVC来到Java的,我很想在Java世界中找到一个可以在Google App Engine上使用的等价物。我已经开始玩FreeMarker,甚至迈出了编写非常简单的框架的第一步。理想情况下,我不必做所有的艰苦工作,一定有人已经这样做了!所以我的问题是 - 有什么框架对我来说是熟悉的,来自 ASP.NET MVC,我可以在Google App Engine for Java上使用它们。

我想要的关键是:

  • 简单路由 - 映射到产品控制器的视图操作,productid 为 1/products/view/1
  • 模板引擎 - 一种轻松地将“ViewData”传递到视图的方法,并且从视图中轻松访问它,理想情况下,我希望避免任何过于XMLy的东西(这就是为什么我喜欢FreeMarker)。

答案 1

我目前正在使用Spring MVC开发Google App Engine应用程序。它比 ASP.NET MVC成熟得多,所以你不应该失望。作为额外的奖励,您拥有Spring的全部IoC功能。

对于视图层,我正在尝试速度。这很简单,但我还没有决定我是否更喜欢它而不是JSP。我简要地看了一下FreeMaker,但不喜欢我所看到的。如果你想远离XML'y JSP模板,我建议你给Velocity一个旋转。

我在GAE上遇到的唯一问题是文件上传。多部分解析实现都依赖于临时文件目录。在编写了自己的实现之后,我又回到了模型中无缝上传文件的状态。


答案 2

您应该考虑几个MVC框架(这就是我现在正在做的)。最初,我选择了Spring MVC(3.0),GAE的冷启动是可怕的!它需要大约10秒钟才能启动(我甚至没有使用任何复杂的东西,比如弹簧安全等),所以我需要使用cron工作来保持它的生命力。所以我不建议你在GAE上使用Spring。

请看以下框架:

猛禽

纤薄3

谷歌网站砖

至于模板,我使用Sitemesh - 现在已经使用了很长一段时间,所以不要认为有必要切换。

希望这有帮助!


推荐