【问题标题】:Front-end connection to back-end前端到后端的连接
【发布时间】:2016-11-04 06:49:18
【问题描述】:

我熟悉各种编程语言,我最擅长的是 java。我正在学习 javascript,并且有大量的资源可供使用。但我正在努力寻找有关如何连接到 java 代码的资源,然后返回结果。

例如,我可以编写 Java 程序来从数据库中提取数据并对其进行操作/聚合。假设我想构建一个页面,为用户提供一些关于如何提取/聚合数据的选项。我可以轻松地编写一些 java 代码来执行此操作,并且通过一些谷歌搜索,我应该能够轻松地构建一个为用户提供一些选项的网页。我不知道该怎么做是如何让 javascript 执行 java 代码(传递参数)并从 java 获取要显示的数据。从阅读看来,传递数据的最佳格式似乎是 JSON,我了解它的基础知识,但我的问题是弄清楚如何从 javascript 实时调用 java 程序以及如何将 JSON 传递回 javascript 以使用在页面上。

我意识到这是一个非常笼统的问题,我不是在找人来解释这个问题,而是寻找更多的参考链接来帮助我开始这个问题。谢谢!

【问题讨论】:

  • 如果您只想显示数据,JSP 与 Java 类配合得很好。如果您需要更具交互性的页面,则可以使用 javascript 和 ajax 进行页面到服务器(您的 java 代码公开为 URL)的通信。

标签: javascript java json server


【解决方案1】:

您可以在任何语言或框架中使用 Restful Web Service 作为后端,例如您可以使用 Spring 编写 Restful 服务,然后使用标准 http 协议(如 GETPOST 等)获取和更新数据。

对于后端代码,这是一个链接。

https://spring.io/guides/gs/rest-service/

https://spring.io/understanding/REST

在前端代码中,您可以使用任何库或框架。可能的选项有jQueryAngularJsBackbone 等。如果您不熟悉前端技术,jQuery 是更简单的选项。

【讨论】:

    【解决方案2】:

    JavaScript 在浏览器中以沙盒方式运行,不能真正调用用其他语言编写的模块(因为这些模块不会与它一起被沙盒化)。

    这实际上是大多数交互式网站的工作方式:服务器模块是用任何适合您的方式(Java、C# MVC、PHP 甚至 JavaScript)编写的,并使用 AJAX 调用从浏览器中的 JavaScript 调用。

    【讨论】:

      【解决方案3】:

      公平的警告,我不是 Java 人,但无论使用哪种语言,基本原理都应该是相同的。您正在寻找的是 AJAX。 AJAX 允许您从浏览器与服务器对话并接收返回的数据。如果不确切知道您要做什么,我无能为力,但您应该能够朝着正确的方向前进。

      基本上是这样的:

      jQuery:

      $.ajax({
        url: "test.java", // your java file here
        context: document.body,
        dataType: "json", // make sure it's you're using JSON
      }).done(function() {
        $( this ).addClass( "done" ); 
      });
      

      Javascript:

      不要给你一个黑客答案,而是查看这个 Stack 帖子。很多很棒的信息:

      How to make an AJAX call without jQuery?

      在 Java 中使用 AJAX:

      这可能包含有关您的特定用例的更多信息:

      https://netbeans.org/kb/docs/web/ajax-quickstart.html

      希望这会为您指明正确的方向。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-14
        • 2021-04-26
        • 1970-01-01
        相关资源
        最近更新 更多