0

我的任务是保存并稍后在 webaplication 中的文件中读取一些任意数据。我不能使用硬编码的系统路径,因为我的 webapp 可能有多个实例在同一台服务器上启动。我有一些限制,不能使用数据库来管理它。所以,问题来了:有没有办法使用 servlet 容器 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 + ".any extension";
  7. 创建具有完整路径的文件并写入它,它将是唯一的,并且还将与您部署的 Web 应用程序的实例相关联。
于 2011-08-23T20:22:36.940 回答