带有 RESTful JSON 服务、HTML5 和 jQuery ajax 的 Java Web 框架
Posted
技术标签:
【中文标题】带有 RESTful JSON 服务、HTML5 和 jQuery ajax 的 Java Web 框架【英文标题】:Java web framework with RESTful JSON services, HTML5 & jQuery ajax 【发布时间】:2012-12-02 04:19:41 【问题描述】:几乎是 2013 年,html5 时代。 jQuery 是 web javascript-ing 的事实标准。
此链接适用于 2010 年: https://***.com/questions/3882082/rest-json-web-services-java-ee-framework
我正在寻找将通过 RESTful JSON Web 服务公开域类的 Java Web 框架。然后将 [希望] 为这些域类生成 Web 表单。并使用 jQuery ajax 与服务器通信以发送/接收 JSON 数据并填充为 HTML。
所有 Web UI 处理都应在客户端浏览器中进行。服务器应该只传输静态 HTML5 页面。没有像 JSP 这样的服务器端处理。
更新。我必须澄清我的问题点不是用于创建 Web 服务的框架。 (有很多像 Apache CXF、Spring MVC Web 服务)。它也与 jQuery 无关。但是 Java 框架可以节省客户端-服务器通信的样板编码时间。
Groovy 和 Scala 是很棒的东西,但它们不是 Java,而是 JVM 语言。 (想象一下告诉你的队友“我们应该学习类似 Java 的语言,但要开始使用新框架。”)
底线:
Java web 框架 + 静态 HTML5 页面 + JSON 交互
【问题讨论】:
您正在寻找Play Framework。我的回答是半开玩笑的。查看AMD pattern(带有RequireJS,Backbone.js)。 Web 应用程序可以而且应该尽可能多地关注客户端控制事物的方式。我的经验是,很多服务器端(这没什么错)不太了解当今的 现代 浏览器和 Javascript 是多么。 Knockout.js,ExtJS。不错。 哦,是的,GWT 使用 GWT,您可以使用 ExtJS GXT。该桌面应用程序非常漂亮。你也得到了RestyGWT。 另一种可能性是TIBCO General Interface (GI)。如果您正在构建一个复杂的客户端数据驱动的域控制分布式应用程序,那么这个系统非常有趣。不知道我在那里是否有足够的十美元单词,但不要被愚弄,这里有很多老练;超过我需要使用的。我认为它主要是为企业股票/金融/商品交易平台开发的。请参阅:“客户端中的 MVC”、IDE、集成测试等,在服务器上使用 DWR/Hibernate。见:generalinterface.org/docs/display/DOC/Learning+Center 【参考方案1】:你说得对,快到 2013 年了,为什么不直接用 nodeJS 公开你的 Rest Web 服务!
如果您对 Java 很执着,那么可以将 Spring MVC 视为 Jax-RS 的替代方案。使用 Spring(以及用于 JSON marshall/unmarshall 的 Jackson),您可以执行以下操作:
@Controller
@RequestMapping("/resource")
public class ResourceController
@Autowired
private ResourceService resourceService;
@RequestMapping(value="/id", method=RequestMethod.GET)
public @ResponseBody Resource getResource(@PathVariable Integer id)
return resourceService.lookup(id);
...
public class Resource
@JsonProperty("id")
private int id;
@JsonProperty("resourceName")
private String name;
...
希望对您有所帮助。
【讨论】:
【参考方案2】:您是否尝试过探索 Spring 的域休息映射和 Grails 的 Scaffolding ?尝试探索这些链接以实现您的目标:
-
Domain mapping to REST endpoint
More on domain rest antipattern
Generate whole application using domain model using scaffolding
【讨论】:
谢谢。我知道 Groovy 很棒,但我需要 Java。 Groovy 是基于 Java 的内部 DSL。它与 Java 很好地融合在一起。最终编译的 groovy 文件只有 .class 文件【参考方案3】:我还没有找到任何 Java Web 框架,它可以负责编写静态 HTML5 和 JavaScript。
对于服务器端,有 Apache CXF、Spring MVC 和许多其他支持 RESTful Web 服务的框架。
【讨论】:
以上是关于带有 RESTful JSON 服务、HTML5 和 jQuery ajax 的 Java Web 框架的主要内容,如果未能解决你的问题,请参考以下文章
如何使用DRUPAL 8中的RESTful Web服务API创建field_collection_item