私の卒業プロジェクトを説明しましょう。サーバー側JSPでJavaコードを1つずつ実行
私の卒業プロジェクトは、Javaコードをオンラインでコンパイルすることについてです。
私は、ユーザーのコードをコンパイルするために、Java BeanクラスのJavaコンパイラAPIを使用しています。コンパイルが完了すると、.classファイルはD:¥eclipse-jee-mars-R-win32-x86_64¥eclipseディレクトリーに生成されます。次に、プログラムは、テキスト・エリア(JSP内)で入力された入力ファイルをD:¥eclipse-jee-mars-R-win32-x86_64¥eclipseディレクトリに保存します。入力ファイルを作成した後、実行時にdosコマンドを使用してコードを実行し、getInputストリームを処理します。 getInputストリームはコードの出力を返します。入力コード(ユーザーのコード)が出力ファイルを作成すると、出力ファイルも生成されます。
"あなたのコードの出力ファイル名は 'output.txt'であるべきです。
ユーザーのコードによって出力ファイルが作成された場合。 "output.txt"ファイルはD:¥eclipse-jee-mars-R-win32-x86_64¥eclipseディレクトリに生成されます。プログラムはJSPに 'output.txt'の内容を取得し、コードの "出力"を表示します。ユーザー。
これまでのところ問題ありません。問題はここから始まります。 1人のユーザーには問題はありませんが、2人以上のユーザーがいると思います。 2人以上のユーザーが同時にコードをコンパイルすると、すべてのユーザーが同じ名前のファイルをD:\ eclipse-jee-marsに作成するため、.class .javaファイルと "output.txt"ファイルが同じファイルになるため、問題が発生します。 -R-win32-x86_64 \ eclipseディレクトリにあります。たぶん、すべてのユーザーにとって、ファイルを一意の名前として作成すると助けになりますが、別の問題が発生します。私たちのプロジェクトでは、コードのランタイムを見てコードを分析します。この解決法[ユニークな名前]は並列の作業コードをもたらし、分析結果は不公平になります。時には1つのコードが動作することがあるので、100のコードがウェブサイトで動作することがあります。
私はコードをコンパイル、実行、解析する必要がありますが、並列ではありません。
どうすればこの問題を解決できますか?このような状況では、どのような解決方法が使えますか?
あなただけが段落を使用した場合、あなたの質問は読みやすくなります... –
申し訳ありませんが、私は急いで尋ねました。理解できない場合は段落を分けることができますか? –
あなたが急いでいる場合でも、特にボランティアの助けを求めている場合は、*常に*質問をできるだけ理解しやすく、答える時間を取るべきです。あなたが今すぐに時間を持っていなければ、そうでなければあなたを喜んで助けてくれる人たちをイライラさせるのではなく、後で延期する。 –