私の仕事は、webaplication 内のファイルに任意のデータを保存して後で読み取ることです。同じサーバーで Web アプリケーションの複数のインスタンスが起動される可能性があるため、ハードコーディングされたシステム パスを使用できません。いくつかの制限があり、データベースを使用してこれを管理することはできません。そこで、質問があります。サーブレット コンテナ API を使用して、Web アプリケーション インスタンスに関連付けられた任意のデータを保存する方法はありますか。私は Tomcat 7 を使用しており、必要に応じてこれに頼ることができます。
質問する
1119 次
1 に答える
0
あなたはこのようなことをすることができます
- Webアプリの下にフォルダーを作成します。これをwebapp-dataと呼び、WEB-INFフォルダーの上に置きます。
- このパスにアクセスするには、次のようなことを行うことができます
- 文字列outputFolder=getServlet()。getServletContext()。getRealPath( "webapp-data")
- server / jvmで同じWebアプリの複数のインスタンスを実行していますが、それらすべてのWebアプリに同じコンテキスト名を付けることはできません。
- String fileName = getServlet()。getServletContext()。getServletContextName()という名前のような新しいファイルを作成します
- String fullPath = outputFolder + File.pathSeparator + fileName+"。任意の拡張子";
- フルパスでファイルを作成して書き込みます。これは一意であり、デプロイしたWebアプリのインスタンスにも関連付けられます。
于 2011-08-23T20:22:36.940 に答える