0

Tic Tac Toeなどのゲームでスクリプト ファイルを相互に「競合」させるプログラムがあります。

視覚化はコンソールで行われ、次のようになります。

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

あまりエキサイティングではありません。

私は Swing ビジュアライゼーションを作成することを考えていましたが、Raphaël JavaScript ベクトル グラフィックス ライブラリに関するプレゼンテーションを見て、すべてが同じコンピューター上で実行されるとしても、ブラウザー ベースのビジュアライゼーションを作成するのがクールだと判断しました。

これに対応するには、本格的な Web サーバーが必要ですか? JavaScript はどのように Java プログラムと通信しますか?

4

5 に答える 5

1

Swingインターフェースを構築するのが最も簡単な解決策ですが、これもおそらく最も厄介な解決策でしょう。

Webサーバーがすでに稼働している場合は、Webブラウザーのソリューションがおそらく最も満足のいくものですが、セットアップして適切に理解するには多くのオーバーヘッドがあります。繰り返しになりますが、さまざまなテクノロジーのレイヤーを試して混乱させることができます(java、JSP、HTML、javascript、cssなど)。

最近では、HTML5と利用可能なjavascriptライブラリを使用して、ほとんどのインターフェイスにWebインターフェイスが最適であると考えています。そのため、マシンをセットアップして、次のプロジェクトで使用できるようにすることをお勧めします。

サーバー(Java)とブラウザー間の通信は、ブラウザーからのHTTP要求を使用して行われます。

これは2つの方法で発生する可能性があります。

a)ブラウザのHTMLページで送信ボタンを押し、応答としてサーバーでHTMLページをレンダリングする(通常、JSPなどのサーバー側スクリプトを使用しますが、Javaコードを使用してページ全体を生成することもできます)。

b)javascriptでAjaxを使用してサーバーへの非同期呼び出しを行うことにより、サーバーへの非同期呼び出しを行います。サーバーは、javascriptで解釈およびレンダリングできるデータで応答します(おそらく、実行しようとしていることに最適なソリューションです)。jQueryを含め、これを支援するための多くの準備が整ったjavascriptライブラリがあります。

方法bでは、基本的にサーバー側でブラウザーからの投稿を待ってから、XML、json、または純粋なテキストで書かれたページで応答します。次に、JavaScriptコードがデータを解釈し、ブラウザーのHTMLページ(アプリケーションの開始点でロードしたもの)にレンダリングします。

于 2012-05-03T16:17:46.687 に答える
1

これに対応するには、本格的な Web サーバーが必要ですか? JavaScript はどのように Java プログラムと通信しますか?

JavaScript をホストしてブラウザで表示する場合、ブラウザは HTTP リクエストを介して Java からデータをリクエストできる必要があります。ブラウザーはfile:///URI を介してデータをロードできますが、それらの要求を動的に処理するのは (かなり) 厄介です。

ただし、Web サーバーをインストールするのは簡単です。Tomcatは簡単にインストールできます。必要に応じて、 TJWS (関係なし)、WinstoneLiteWebServerJettyなど、いくつかのオプションがあります。

于 2012-05-03T15:21:28.033 に答える
1

Javascript はページ上の Java アプレットと通信できます(少なくとも理論上は)。Java アプレットはロード時に警告を発し、マシンに Java をインストールする必要があります。

于 2012-05-03T16:19:52.907 に答える
1

ゲーム エンジン用に Java を実行する必要がある場合は、Jettyを使用して、ブラウザーから HTTP 要求を処理できるようにすることをお勧めします。それはすべてアプリケーションに埋め込まれており、変更を加えるたびにアプリケーションを WAR としてパッケージ化してデプロイする必要はありません。

[編集]小さなフットプリントが必要な場合は、Jetty の代わりにもなるTiny Java Web Severについて読んでください。

于 2012-05-03T15:29:11.420 に答える
0

はい、Webサーバーが必要になります。Javascript は、おそらく html フォームの一部として実行されます。Java 側の処理が必要な場合は、Web サーバーが必要です。html/javascript がスタンドアロンの Java プログラムと通信することはできないためです。しかし、なぜ Java サーバー側プログラムが必要なのですか? ロジックを完全にJavaスクリプトで書かないことはできますか?

于 2012-05-03T15:21:43.247 に答える