2

我想通过 AJAX 调用我的 DAO 的方法。我对此很陌生,所以我想问一下最好的方法是什么。是否可以将我的 bean 发布为 Web 服务并使用例如 jQuery 调用它们?我认为这是不可能的 :) 我也读过 Direct Web Remoting 但我不知道该走哪条路……

如我所见,这里有很多有经验的人,所以我想你可以给我指路..提前谢谢

4

2 回答 2

2

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

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

于 2008-10-17T05:05:02.343 回答
1

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

这是我发现的一个链接,显示了带有 AJAX 的 Spring 和 DWR:Bram Smeets 博客

于 2008-10-13T16:10:12.017 回答