google-app-engine - 用于 Google App Engine 的 Java MVC

标签 google-app-engine jsf spring-mvc playframework stripes

我是刚毕业的学生,​​没有任何实际经验。我想用 Java 开发相对简单的 Web 应用程序(职位列表网站),该应用程序适用于我的项目的 Google App Engine。

但是,我做了一些研究,并没有偶然发现 GAE 各种框架的比较。有些文章说 Spring 3.0 的冷启动时间较长,但这些都是 3 年前的文章,当时 GAE 科学肯定发生了很大变化。 JSF 应该是社区标准,但很复杂。 Stripes/Play/..../... 框架已经存在,但我目前无法做出决定。

您能给我推荐一个符合以下标准的 MVC 框架吗?

  1. 与 GAE 配合使用(或针对 GAE 进行优化)
  2. 轻量级 - 冷启动时间应该更少
  3. 如果可能,响应时间应该更短

可以进行以下权衡。

  1. 无需事务、网络服务、持久性或其他一些高级功能
  2. 可能很难学习(我有足够的时间),但应该提供文档

最佳答案

我个人的选择是RESTeasyHtmleasy 。另外Jackson如果您需要 JSON。

RESTeasy:

  1. JAX-RS standard基于 Java open-source leaders 之一的开源库。出色的支持。
  2. 基于 MVC。
  3. 很棒的文档,有很多示例。
  4. 在 GAE 上运行没有任何问题。
  5. 如果您需要提供 JSON(= 您有移动客户端),则与 Jackson 捆绑在一起。

Htmleasy

  1. 轻量级,基于 JAX-RS 和 RESTeasy 构建
  2. 可以使用不同的 html 模板引擎,包括 JSP 和 Mustache。
  3. 与 Mustache 配合使用,它可以是服务器端(服务器 Java 渲染模板)或客户端(JS 渲染模板 AJAX 样式)。

建议:

  1. 相同的代码库可以同时服务 HTML 和 JSON,支持网络和移动客户端。
  2. 在服务器端渲染与客户端渲染和 AJAX 之间找到适当的平衡。请记住,最大的网站同时使用这两种方式:服务器端快速为您提供首页,客户端和 AJAX 以便对用户操作做出出色的响应。
  3. 不要将业务和数据库逻辑放在 JAX-RS 方法中,而是创建单独的业务层类。
  4. 对业务层进行单元测试 - 您应该具有 100% 的覆盖率。

关于google-app-engine - 用于 Google App Engine 的 Java MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15874095/

相关文章:

python - 如何为 app.yaml 中定义的静态路由编写测试?

jsf - 使用 JSF 还是使用 Mojarra?

java - 将 OpenSessionInViewInterceptor 与 Hibernate 和 JSF 2 结合使用

java - 结合 DispatcherServlet、ContextLoaderListener 和 SpringSecurity

java - Spring 端到端测试,包括使用 MockHttpServletRequest 的过滤器和 Controller 方法

python - 验证多个字段,因为它们是一个?

javascript - 适用于 Android 和 iOS 的 Google channel API

python - 从 Python 中删除 GAE NBD 实体并刷新 Memchach 后,数据存储查看器中仍然可以看到它们

java - @Injection 不适用于 CDI bean

java - ${pageContext.request.contextPath} 在本地工作,但不能远程工作