Java 我喜欢将文件写入我的web项目资源文件夹中

Java 我喜欢将文件写入我的web项目资源文件夹中,java,Java,位置是:C:\Users\md.kamruzzaman\nazdaq\filewritetoresources\src\main\resources\xml HttpSession session = request.getSession(); ServletContext sc = session.getServletContext(); String x = sc.getRealPath("/" + "WEB-INF\\classes\\xml"); 此代码生成: C:\Apps\Tomc

位置是:C:\Users\md.kamruzzaman\nazdaq\filewritetoresources\src\main\resources\xml

HttpSession session = request.getSession();
ServletContext sc = session.getServletContext();
String x = sc.getRealPath("/" + "WEB-INF\\classes\\xml");
此代码生成: C:\Apps\Tomcat\8u21\webapps\filewritetoresources\WEB-INF\classes\xml


如何在web应用程序“C:\Users\md.kamruzzaman\nazdaq\filewritetoresources\src\main\resources\xml”中获取此位置。

我将用“你真的,真的不应该”来预先回答这个问题

原因如下:

  • 目标系统上甚至可能不存在该路径
  • 您可能没有将文件写入该文件夹的权限
  • 您的应用程序可能部署到负载平衡器后面的集群应用程序服务器上,而文件系统可能是本地的,从而产生奇怪且难以调试的错误

  • 如果你仍然真的想得到答案,那么这个问题已经在这里得到了回答:

    这听起来是个坏主意。如果您的webapp有一个参数,指示您可以在哪里写入这些数据,例如,在一个单独的文件夹中,这会更好。在“WEB-INF\classes”(应该由servlet容器管理)中编写似乎很危险,而且是反模式的。这是个坏主意。这是一个坏主意,因为它使您的程序依赖于servlet规范中未定义的行为,而且几乎可以肯定有Java EE容器不允许您访问底层文件系统。谢谢。。。事实上,我是网络应用的新手。。。但这有可能吗?