0

私の仕事は、webaplication 内のファイルに任意のデータを保存して後で読み取ることです。同じサーバーで Web アプリケーションの複数のインスタンスが起動される可能性があるため、ハードコーディングされたシステム パスを使用できません。いくつかの制限があり、データベースを使用してこれを管理することはできません。そこで、質問があります。サーブレット コンテナ API を使用して、Web アプリケーション インスタンスに関連付けられた任意のデータを保存する方法はありますか。私は Tomcat 7 を使用しており、必要に応じてこれに頼ることができます。

4

1 に答える 1

0

あなたはこのようなことをすることができます

  1. Webアプリの下にフォルダーを作成します。これをwebapp-dataと呼び、WEB-INFフォルダーの上に置きます。
  2. このパスにアクセスするには、次のようなことを行うことができます
  3. 文字列outputFolder=getServlet()。getServletContext()。getRealPath( "webapp-data")
  4. server / jvmで同じWebアプリの複数のインスタンスを実行していますが、それらすべてのWebアプリに同じコンテキスト名を付けることはできません。
  5. String fileName = getServlet()。getServletContext()。getServletContextName()という名前のような新しいファイルを作成します
  6. String fullPath = outputFolder + File.pathSeparator + fileName+"。任意の拡張子";
  7. フルパスでファイルを作成して書き込みます。これは一意であり、デプロイしたWebアプリのインスタンスにも関連付けられます。
于 2011-08-23T20:22:36.940 に答える