Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java程序可以作为网页javascript和数据库之间的中介吗?_Java_Javascript_Database_Google Maps - Fatal编程技术网

java程序可以作为网页javascript和数据库之间的中介吗?

java程序可以作为网页javascript和数据库之间的中介吗?,java,javascript,database,google-maps,Java,Javascript,Database,Google Maps,我需要为以下项目研究、了解和使用什么: 我想使用javascript在网页上使用googlemaps api显示地图。 上面会有记号笔。 标记将是使用纬度和经度的地理位置。lat和lon坐标将通过输入IPs找到,IPs将为我提供lat和lon。IP是从数据库中获取的。该地图也将显示在Java程序的jpanel中 我最大的担忧和困惑是如何连接到数据库并获取数据。我没有使用javascript的经验,但我听说在网页上用javascript连接到DB是不好的做法。是否可以使用我的java程序作为DB和

我需要为以下项目研究、了解和使用什么:

我想使用javascript在网页上使用googlemaps api显示地图。 上面会有记号笔。 标记将是使用纬度和经度的地理位置。lat和lon坐标将通过输入IPs找到,IPs将为我提供lat和lon。IP是从数据库中获取的。该地图也将显示在Java程序的jpanel中

我最大的担忧和困惑是如何连接到数据库并获取数据。我没有使用javascript的经验,但我听说在网页上用javascript连接到DB是不好的做法。是否可以使用我的java程序作为DB和网页之间的中介来连接、检索和推送数据?这似乎可以保证数据的安全,但我不知道如何将数据从java发送到脚本,或者如果可能的话

也许有人有其他建议


更新:我最初问这个问题时,只是带着一种大致的方向感和一种糊涂的理解,只是在寻找正确方向上的一点。与其认为我的问题很愚蠢,或者一开始我没有尝试找到答案,不如说下面的答案确实花了时间来帮助我,并且能够引导我去我需要去的地方。下一次,不要这么快就把这样一个毫无经验的程序员降级,并试图伸出援手。这就是这个社区的目的,也是我喜欢使用它的原因。

JavaScript无法直接连接到另一台服务器上的数据库;除了WebSocket之外,没有API可以实现这一点。您可能想做的是在JavaScript中使用AJAX,并为Web服务器编写一个应用程序,用数据库中的答案回答AJAX请求


这是一项复杂的任务,需要好好学习;根据您的情况,在编写HTML/JavaScript部分时,让其他人编写服务器部分可能更为实际。如果您确实想自己花时间学习,我建议从Spring MVC开始,因为它使编写基于JSON的Web服务变得非常容易。

是的,您可以使用服务器端Java代码作为中介。使用JavaScript通过JavaScript的XMLHttpRequest对象将数据发布到HttpServlet。然后处理servlet中的数据

一旦你完成了你的数据库业务,你可以发送一个“全部完成”!回复,由JS处理

我建议阅读XMLHttpRequest对象。另外,请查看涉及已发布数据的HttpServlet示例

下面是一个简单的例子:

JS在IE9中工作+

var xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function(data) {
  console.log(data);
};
xmlhttp.open("POST", "/servlet", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
爪哇


是的,Java可以做到这一点。Python、PHP和大多数其他语言也是如此。出于安全原因,使用javascript从网页直接访问数据库存在问题。如果不了解更多关于问题、约束或Java经验的信息,就很难提供更清晰的方向。如果所有这些对你来说都是新的,那么我会说你有大量的工作要学习如何做到这一点。对于与来自Java的数据库交互,以下内容可能会有所帮助:

下面是一系列使用Java创建Rest服务的视频教程,javascript可以通过Ajax与这些服务交互:

以下是我的想法:

出于某种原因,您希望存储IP。你使用一个数据库。你有那个角色

您希望从该数据库中读取。您可以使用服务器端代码来实现这一点。例如PHP、ASP或JSP等

您希望在网页和Java桌面程序中显示信息。你可以用Javascript和Java来实现这一点,你也得到了这一部分

现在从1到2从数据库读取数据,数据库提供了一种sql语言,您可以使用该语言检索数据。当然,数据库也有用户名/密码

从2到3,您可以创建某种类型的API来返回您的网站和Java程序所需的数据。您可以使用服务器端语言创建API


注意:您不直接从javascript访问数据库的原因是javascript在客户端上运行。这意味着,运行javascript的用户将能够看到访问数据库的代码,并且代码将包含凭据。

是的,这是JSP系统显示自身的一种方式。您是否可以提供任何文档来帮助我理解这个过程?感谢您的输入,无需降级。我没有很强的编程背景。我只是想知道到目前为止你试过/找到了什么?我们需要知道是否有任何事情不起作用,以便我们能够具体解决它。我个人并没有否决这篇文章。到目前为止,我有一个严格使用java构建的类似程序,但我只通过构建url请求来使用google静态地图。我想在javascript中使用googlemaps api,这将允许我使用MarkerClusterer。为了
在不违反使用条款的情况下执行此操作,此api必须公开访问,因此需要与网页集成。谢谢,我熟悉java到DB的交互。问题是,现在我必须在等式中引入javascript,而我对此没有经验。我会看这些视频,谢谢链接
public class MyServlet extends HttpServlet {
  public void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws IOException, ServletException {

    String fname = req.getParameter("fname");
    // db code here

    PrintWriter out = resp.getWriter();
    out.print("All done!");
  }
}