如何将基于 Spring + Hibernate 的应用程序后端与纯 HTML 和基于 AJAX 的客户端连接?

How to connect my Spring + Hibernate based application backend with pure HTML and AJAX based client?

提问人:Lukas 提问时间:10/10/2008 更新时间:10/17/2008 访问量:1474

问:

我想通过 AJAX 调用我的 DAO 的方法。我在这方面很陌生,所以我想问一下最好的方法是什么。是否可以将我的 bean 发布为 Web 服务并使用 jQuery 调用它们?我认为这是不可能的:)我也读过关于直接 Web 远程处理的文章,但我不知道该走哪条路......

正如我所看到的,这里有很多有经验的人,所以我认为你可以给我指明方向。提前致谢

Ajax Web 服务 Hibernate Spring

评论


答:

1赞 Miguel Ping 10/14/2008 #1

你必须通过 http 公开你的 DAO 或 bean。通常,在 DAO 层上方创建一个层,以通过 HTTP 公开您的服务,这些服务可用于任何 AJAX 框架(如 jQuery)。jQuery和其他框架最终要做的是使用一个名为XMLHttpRequest的特殊异步请求,然后解析服务器响应(可以是任何内容,纯HTML,JSON,XML等)并对其进行处理。

这是我找到的一个链接,显示了 Spring 和 DWR 与 AJAX:Bram Smeets 博客

2赞 Dónal 10/17/2008 #2

与其直接公开 DAO bean,不如创建一些 Spring MVC 控制器 bean,并从客户端调用它们(使用 AJAX)。理想情况下,控制器不应直接调用 DAO,而应调用服务 bean(并且服务 bean 应调用 DAO)。这种方法的一个优点是,您可以将服务方法定义为事务性方法,即每当服务方法开始时,都会启动事务,并且每当服务方法返回(无异常)时,事务就会提交。如果事务的边界是 DAO 方法,则不可能在单个事务中包装多个数据库调用。

当然,你没有理由需要使用Spring MVC——任何Web框架就足够了。