我有一个看似简单的问题。我有一个部署在 Tomcat 中的 Spring Web 应用程序。在服务类中,我希望能够将一个新文件写入应用程序根目录下名为 graphs 的目录:
/
/WEB-INF
/graphs/
/css/
/javascript/
我的服务类是一个 Spring bean,但我无法通过 HttpServlet 机制直接访问 ServletContext。我也尝试过实现 ResourceLoaderAware,但似乎仍然无法掌握我需要的东西。
如何使用 Spring 获取应用程序中目录的句柄,以便我可以向其中写入文件?谢谢。
最佳答案
@全部
这些答案的问题是它们变得陈旧,或者以多种方式做事的信息在当时并不明显。就像您可能正在使用的那台旧 Atari 计算机一样(咧嘴笑),事情可能已经改变了!
您可以简单地将 ServletContext @Autowired
放入您的 bean 中:
@Service
class public MyBean {
@Autowired ServletContext servletContext=null;
// Somewhere in the code
...
String filePathToGraphsDir = servletContext.getRealPath("/graphs");
}
关于java - 从 Spring bean 获取目录路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496544/