gpt4 book ai didi

java - 如何从 HTML/JS 和 android 调用 Java 服务器端方法?

转载 作者:行者123 更新时间:2023-12-03 11:42:56 25 4
gpt4 key购买 nike

我想创建一个人员项目,其中包含一台 Java 编码服务器、一个 HTML/JS 客户端(需要确定框架)和一个 Android 客户端。

我希望能够仅通过一种实现从这两个客户端调用 Java 方法。我可以使用哪种方法?

我考虑过Websocket,但似乎只能发送消息,然后服务器端必须解析它并自行调用方法。这是可行的,但我想找到更好的解决方案。

使用 AJAX(我从未真正使用过)似乎也有同样的问题。发送了一个 http 请求,但我需要一种解析器来读取请求并分派(dispatch)它。

我知道 servlet 可以完成这项工作,但我经常认为这确实是老派。但我不知道为什么。

我真的愿意接受任何实现这种客户端-服务器通信的提议。

编辑:我想找到的理想解决方案是能够从客户端在服务器上直接调用方法的任何解决方案。例如,一个很好的解决方案是能够从 Javascript 调用 Web 服务,或者找到一个可以直接远程调用 Java 方法的框架。

最佳答案

现在访问服务器端方法的标准方法是通过 WebServices。

  1. 用 Java 编写您的业务逻辑。
  2. 添加 REST Web 服务层以将请求传递给 java 方法并返回响应。
  3. REST 库将提供 servlet 实现来路由您的请求 - 您只需添加一些注释(尝试 Jersey REST api)
  4. REST 库还将您的 Java 对象转换为 JSON自动(使用一些 JSON 库,如 Jackson)

查看有关 REST Web 服务的教程: http://www.vogella.com/tutorials/REST/article.html

Webservice 就像 Web URL 一样,只不过它返回 JSON 文本而不是 HTML。要调用该服务,您必须发出普通的 Ajax 请求并将响应解释为 JSON。我更喜欢使用 JQuery,因为它既简单又跨浏览器安全。

  1. 调用此方法发出ajax请求(异步)$.getJSON(url,callbackFn);
  2. 定义回调函数
  3. 收到响应后将调用该函数

    函数callbackFn(responseObj){ 警报( JSON.toString( 响应 ) );
    }

示例:http://www.pureexample.com/jquery/get-json.html

关于java - 如何从 HTML/JS 和 android 调用 Java 服务器端方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com