使用 JavaScript 可视化 Java 程序
Visualize Java program using JavaScript
我有一个程序,允许脚本文件在井字游戏等游戏中相互"竞争"。
可视化是在控制台中进行的,如下所示:
| 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脚本编写吗?
- 如何从Java/scala调用js美化程序
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- MAC操作系统-如何通过Java类运行应用程序(.app)
- 我需要学习Java才能使用phoneGap创建android应用程序吗
- 等待,直到使用Java在selenium网络驱动程序中手动单击登录按钮
- 如何在不同的java程序中捕获JS可变值
- 如何在java脚本中显示引导程序底部的pophover图像点击
- 一个Web应用程序上有两个Java脚本
- java脚本点击事件处理程序不工作
- 如何通过子进程连接Java应用程序后在node.js中编写文件
- 如何将我的Ionic应用程序与我的java服务器(Spring MVC)连接
- 翻译是从哪里来的?Java servlet、tomcat和Ext Js Sencha应用程序
- 如何在 NetBeans 中的 Java Web 应用程序项目中运行 php
- PrivilegedActionException 尝试从 JavaScript 调用已签名的 Java 小程序
- html5/JS中的java桌面应用程序gui
- 获取 selenium Web 驱动程序 java 中元素的类名
- 想要在我的 GWT 应用程序 (Java 7) 中为每个 http/https 超链接添加锚 html 标记
- Windows应用程序Java Servlet参数传递
- 显示Excel表在web应用程序- Java EE
- 用本地功能增强web应用——将PhoneGap's InAppBrowser与Rails web应用程序java