使用 JavaScript 可视化 Java 程序

Visualize Java program using JavaScript

本文关键字:程序 Java 可视化 JavaScript 使用      更新时间:2023-09-26

我有一个程序,允许脚本文件在井字游戏等游戏中相互"竞争"。

可视化是在控制台中进行的,如下所示:

|  XO |
| OX O|
|  X  |
- X is the winner! Meh..

不是很令人兴奋。

我曾想做一个 Swing 可视化,但在看到 Raphaël JavaScript 矢量图形库的演示后,我决定让可视化浏览器基于它会很酷,即使每个东西都将在同一台计算机上运行。

我需要一个成熟的 Web 服务器来适应这种情况吗?JavaScript如何与Java程序通信?

构建 Swing 接口是最直接的解决方案,但这可能也是最混乱的解决方案。

如果您已经有一个 Web 服务器,那么 Web 浏览器解决方案可能是最令人满意的,但设置和正确理解会产生大量开销。再说一次,你有不同技术层可以玩和混淆(java,JSP,HTML,javascript,css等(。

如今,有了HTML5和可用的javascript库,Web界面在我看来是大多数界面的最佳选择,所以你不妨设置你的机器,让它可用于下一个项目。

服务器(Java(和浏览器之间的任何通信都将通过来自浏览器的HTTP请求进行。

这可能以两种方式发生:

a( 通过

按下浏览器 HTML 页面上的提交按钮并在服务器上呈现 HTML 页面作为响应(通常通过像 JSP 这样的服务器端脚本,尽管您可以通过 java 代码生成整个页面(

b( 通过在 javascript 中使用 Ajax 对服务器进行异步调用,服务器将使用数据进行响应,然后您可以使用 javascript 解释和渲染这些数据(可能是您尝试执行的操作的最佳解决方案(。有许多现成的javascript库可以帮助你解决这个问题,包括jQuery。

在方法 b 中,您基本上是在服务器端等待来自浏览器的帖子,然后您将使用以 XML、json 甚至纯文本编写的页面进行响应。然后,您的 JavaScript 代码将解释数据并将其呈现在浏览器 HTML 页面上(您将在应用程序的起点加载该页面(。

我需要一个成熟的 Web 服务器来适应这种情况吗?JavaScript如何与Java程序通信?

如果您要托管JavaScript并在浏览器中显示,那么是的,浏览器需要能够通过HTTP请求从Java请求数据。尽管浏览器可以通过file:/// URI加载数据,但动态处理这些请求(相当(尴尬。

不过,安装 Web 服务器是微不足道的。Tomcat易于安装,如果您愿意,还有其他几种选择,例如TJWS(无关系(,Winstone,LiteWebServer,Jetty...

如果你被迫为游戏引擎运行Java,我建议使用Jetty,让你能够从浏览器处理HTTP请求。这一切都嵌入在您的应用程序中,并且每次进行更改时都必须将您的应用程序打包为 WAR 并部署它。

[编辑]只需阅读有关Tiny Java Web Sever的信息,如果您需要较小的占用空间,它也可以替代Jetty。

Javascript可以与页面上的Java小程序进行通信(至少在理论上是这样(。Java 小程序在加载时会引发警告,并要求在计算机上安装 Java。

是的,网络服务器是必要的。Javascript可能会作为html表单的一部分运行。如果需要任何 Java 端处理,则需要 Web 服务器。由于html/javascript无法与独立的java程序进行通信。但是为什么需要Java服务器端程序呢?逻辑不能完全用java脚本编写吗?