java - AJAX 到 Web 服务设计 : Request for Commentary

标签 java ajax web-services

我正在设计一个 Java Web 应用程序,它大量使用 AJAX(为了用户体验 - 无需重新加载等)。我还需要公开大量的 Web 服务,因为会有许多不同的客户端(不仅仅是 Web 浏览器)连接到 Java EE 后端。

这让我想到,我的 AJAX XmlHttpRequests 以某种方式(神奇地)封装 SOAP 消息并直接与我现有的 Web 服务器对话可能是有意义的,因此我不会编写重复的代码。虽然我现在还不知道该怎么做,但我知道这是可能的,因为我已经找到了一些关于这样做的文章。

我不关心是否可以将 AJAX 内容发布到 Java Web 服务;我担心我是否应该这样做。

这是一种不鼓励的做法吗?是否存在我需要注意的安全漏洞或性能问题?从可重用性和系统一致性的角度来看,这样做是有意义的,但我既不是 AJAX 或 Java EE 专家,也无法更好地了解这一点。

我想我只是对一些有教养的观点感兴趣。一如既往,谢谢!

最佳答案

我认为您绝对走在正确的道路上:尝试 DRY并在任何合理的地方重用您的代码。在我看来,您的方法非常好,所以我只想说几点,也许可以为您指出您想要走的方向。

以我的拙见,特别是当您处理 AJAX 时,Json 将是一种更方便的数据格式:您的 AJAX 代码可以直接使用提供的数据结构,您可以节省大量数据开销(特别是如果您正在考虑大量使用服务),并且 - 但这是非常主观的 - Json 是一种更优雅的数据格式。

我不知道您的其他客户对您的 Web 服务有何期望,但如果您不固定传输消息的格式(尽管您确实提到了 SOAP 和 XML),他们也可能会使用和生成 Json。

一个非常方便的生成和使用 Json 的框架是 Jersey ,如果你只是想解析和创建 Json,我真的很喜欢 Gson来自 Google。

我建议您查看RESTful Web 服务,尤其是与 Java EE 结合使用时。如果您使用兼容 Java EE 6 的服务器,那么创建 RESTful Web 服务非常容易。它们甚至可以生成和使用不同类型的数据格式 - 例如 Json 和 XML。

祝你好运! :)

关于java - AJAX 到 Web 服务设计 : Request for Commentary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419677/

相关文章:

java - 在catch block 中抛出异常没有用吗?

java - Jax-ws 忽略自定义异常

php - Symfony 3.2 FOSUserBundle Ajax 登录

javascript - 通过ajax调用传递给mvc Controller 时在列表中获取空值

ajax - Javascript (jQuery) 发布到 PHP,未解析空属性

apache - 每个 Tomcat 的 Axis2 版本

c# - 提高异步网络调用的性能

java - 抽象类的私有(private)字段不能在子类中访问

Java计算器-循环遍历字符串数组中的字符

JSP中调用方法时出现Java NullPointerException