我想通过 AJAX 调用我的 DAO 的方法。我对此很陌生,所以我想问一下最好的方法是什么。是否可以将我的 bean 发布为 Web 服务并使用例如 jQuery 调用它们?我认为这是不可能的 :) 我也读过 Direct Web Remoting 但我不知道该走哪条路……
如我所见,这里有很多有经验的人,所以我想你可以给我指路..提前谢谢
我想通过 AJAX 调用我的 DAO 的方法。我对此很陌生,所以我想问一下最好的方法是什么。是否可以将我的 bean 发布为 Web 服务并使用例如 jQuery 调用它们?我认为这是不可能的 :) 我也读过 Direct Web Remoting 但我不知道该走哪条路……
如我所见,这里有很多有经验的人,所以我想你可以给我指路..提前谢谢
与其直接公开 DAO bean,不如创建一些 Spring MVC 控制器 bean,并从客户端调用它们(使用 AJAX)。理想情况下,控制器不应该直接调用 DAO,而应该调用服务 bean(并且服务 bean 应该调用 DAO)。这种方法的一个优点是您可以将您的服务方法定义为事务性的,即,只要服务方法开始,事务就会启动,并且只要服务方法返回(无异常),事务就会提交。如果事务的边界是 DAO 方法,那么不可能在单个事务中包装多个数据库调用。
当然,没有理由需要使用 Spring MVC——任何 Web 框架都足够了。
您必须通过 http 公开您的 DAO 或 bean。通常,您在 DAO 层之上创建一个层以通过 HTTP 公开您的服务,这些服务可用于任何 AJAX 框架,例如 jQuery。jQuery 和其他框架最终做的是使用称为 XMLHttpRequest 的特殊异步请求,然后解析服务器响应(可以是任何东西,纯 HTML、JSON、XML 等)并处理它。
这是我发现的一个链接,显示了带有 AJAX 的 Spring 和 DWR:Bram Smeets 博客。