【问题标题】:Is it possible to get data from Java Applet on to PHP or MySQL?是否可以从 Java Applet 获取数据到 PHP 或 MySQL?
【发布时间】:2012-09-07 15:21:21
【问题描述】:

我想创建一个带有小程序形式游戏的网站。 我想使用人们在游戏中获得的高分显示在网站的排行榜上吗? 这是如何实现的?

谢谢

【问题讨论】:

  • @AnkurSharma 他的意思是你试过什么?
  • 我还没有开始这个想法。我只是想确定它是否可能!
  • 这是可能的,但要做到这一点有点棘手,因为它不允许人们在不实际玩游戏的情况下上传他们想要的任何分数。

标签: java php mysql web applet


【解决方案1】:

这可以用 JSObject 来完成,基本上你在 Javascript 和 Java 之间传递信息。

基于documentation 的示例 .

假设这是您的 Java Applet,netscape.javascript.* 库用于调用浏览器的 Plugin 容器(运行 Java Applet 的窗口)以将信息传入或传出。这是文档中的示例,您可以将版本更改为您喜欢的 JDK 版本到您使用的任何版本。

import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
     public void init() {

         // requesting the JSObject
         JSObject win = JSObject.getWindow(this);

         // here you call a javascript function
         win.call("myJavscriptFunction", null);

         // if you wish to pass an argument to the javascript function,
         // do the following
         String myString = "World!";
         final Object[] args = { myString };  
         win.call("myJavascriptFunction2()", args);
     }
}

我将使用 EMBED 标签作为示例,但也可以使用 OBJECT(IE 等)标签(请参阅顶部链接中的文档)。你不应该忘记的最重要的属性是启用MAYSCRIPT=true

<EMBED type="application/x-java-applet;version=1.3" width="200"
   height="200" align="baseline" code="XYZApp.class"
   codebase="html/" model="models/HyaluronicAcid.xyz" MAYSCRIPT=true
   pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html">
<NOEMBED>
   No JDK 1.3 support for APPLET!!
</NOEMBED>
</EMBED>

现在 HTML/PHP 文件中的 javascript 函数

<script text="text/javascript">
  function myJavascriptFunction() {
    alert("Hello!");
  }

  /**
   * with argument
   */
  function myJavascriptFunction2(myString) {
     alert("Hello "+myString);
     // will produce "Hello World!";
  }
</script>

参考:java.sun.com/products/plugin/1.3/docs/jsobject

【讨论】:

  • 请不要发布链接作为答案。请提供简要说明并提供链接作为参考
【解决方案2】:
  1. 我认为您应该将所有高分保存在数据库中

  2. 使用 php 或其他语言使用该分数

【讨论】:

  • java中是否有特殊的类可以将数据保存到mySQL?对不起,我是新手
  • @AnkurSharma jdbc 会帮助你 ..我是一个 php 开发人员,使用谷歌获取更多信息,这可以帮助你 tutorial
  • @Lokesh 在 Java Applet 中直接连接到您的数据库是一个非常糟糕的主意。如果你能做到这一点,这意味着任何拥有足够(不需要太多)技术知识的人都可以连接并对你的数据库造成一些真正的损害。您的数据库应该位于防火墙后面,并且外部世界无法访问。
  • @Kibbee 我怎样才能让它在防火墙后面?
  • @Kibbee 我不是 Java 开发人员...我建议了如何执行此操作的逻辑
【解决方案3】:

您的小程序可以调用原始服务器上的 URL。这可以用来保存高分。

【讨论】:

  • 那么你将如何将高分推送到前端?
  • 我会从允许从我的小程序调用的某个 URL 中提取它们。您不能将数据从网络服务器推送到浏览器,并且我不允许从外部向我的后端打开任何套接字
猜你喜欢
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多