0

Javaを使用してプログラムでテキストファイルに書き込み、同時にjQueryを使用して同じファイルから読み取る状況があります。

私が直面している問題は、コンテンツが Java 経由でテキスト ファイルに書き込まれるたびに、jQuery が更新されたコンテンツを見つけることができないことです。

私はたくさんグーグルで検索しましたが、私が見つけた唯一の結果はJavaとJavaの処理であり、JavaとJavaScriptではありません(つまり、クライアント側とサーバー側)

これが可能かどうかはわかりません。

質問の詳細:

javaを使用してクロール結果をファイルに書き込み、javascript(jQuery.post()メソッド)を使用して同じ結果を表示しようとしています。

ジャワ

Web サイトをクロールし、いくつかの機能を実行するマルチスレッド クロール プログラム。クロールが発生したときと同じ Java プログラムを使用して、コンテンツをテキスト ファイルに書き込もうとしています。私が主に書いている内容は、どのスレッドが呼び出されているか、およびクロールされている現在のリンクは何かについての詳細です。

これをテキスト ファイルに記述する理由は、UI を見ている人が何が起こるかを理解できるように、UI に出力を表示する必要があるためです。

書き込みは期待どおりに完全に行われます。

ジャバスクリプト (jQUERY)

これを使用して

jQuery.get or post ("sample.txt", function (result) {
                  $("#someID").html(result);
                  });

通常はテキストファイルから読み取りますが、java と javascript の両方がファイルにアクセスしようとすると、javascript を残すことを支配するのは java であるため、jQuery は更新されたコンテンツをいつでも取得できません。

この説明は、私の問題が正確に何であるかを人々に理解させるのに十分すぎると思います!

全体として、java と javascript は同時に同じファイルにアクセスしようとします。そこで、この問題が発生します。

どんな助けでも大歓迎です。

前もって感謝します

4

4 に答える 4

1

ファイルがキャッシュされていると思います。最も簡単なのは、異なる URL でファイルをリクエストすることです。次のようなものを試してください"sample.txt?rnd="+Math.rand()

于 2013-03-31T17:42:02.177 に答える
0

同期の問題が発生し、データが破損する可能性があります。

于 2013-03-31T17:44:07.330 に答える
0

私を助けようとしてくれたすべての人に感謝します。私はついに解決策を思いつきました。ファイルから直接読み取るためにjquery postを使用する代わりに、ファイルの内容を読み取り、out.printlnを使用して画面に出力する別のjspファイルを使用しています。その後、jQuery postを使用して、そのjspファイルによって書き込まれたコンテンツを取得しています。したがって、同期の問題は回避されます。

これが私の説明の詳細です:

以前私が持っていた

java program -> Text File <- javascript (jQuery post) // Resulted in synchronization problem where in javascript was not able to access the updated content.

java program -> Text file <- JSP file <- javascript (jQuery post) // Avoided the synchronization problem as that file is accessed by the same server side language. After that jQuery reads the content printed by JSP page. 

多くの変更を経て、最終的に 1 つの適切な解決策を見つけました。

皆さんありがとう。

于 2013-04-02T09:01:05.157 に答える