我是Spring和Spring MVC的新手,我正在开发一种上传文件的测试程序,将其写入servlet的临时工作目录,然后将该文件传递给程序的其余部分(这是一个Spring Batch Job,工作正常)。我目前的问题是弄清楚如何在我的Controller中获取用于配置Spring的DispatcherServlet的临时文件的位置。
我在网上看到的获取临时文件位置的代码是:
File directory = (File)getServletContext().getAttribute("javax.servlet.context.tmpdir");
File file = File.createTempFile("prefix", ".tmp", directory);
FileWriter out = new FileWriter(file);
但是从我到目前为止所看到的,我不能在我用来配置servlet的Controller类中使用getServletContext。
非常感谢任何关于如何获得我想要的或其他方式来处理这个问题的建议。如果您需要更多详细信息,请询问。
答案 0 :(得分:2)
您是否尝试使用ServletContext
注释将@Autowired
注入您的控制器并在您的方法中访问它。
class XController {
@Autowired
private ServletContext servletContext;
}