我想在我的web項目的根路徑上創建一個臨時文件夾來上傳文件。我一派,使用:如何在SpringMVC中獲取Web項目的根路徑?
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public void torrent2magnet(HttpSession session) {
String uploadBaseDir = session.getServletContext().getRealPath("/")+File.separator+"uploadFiles"+File.separator;
}
可以獲取到Web項目的相對路徑。 但有2個障礙如下:
1:session.getServletContext().getRealPath("/")
可以在使用不同的容器(如tomcat或weblogic)時採取不同的行爲。在最壞的情況下,它可能會返回null
。
2:我打算編寫一個@Service
類,其中將提供一個方法來返回當前Web項目的根路徑。我如何在@Service
類中獲得ServletContext
實例?
有沒有更好的方法來解決這兩個問題?非常感謝!
你爲什麼不提供絕對路徑到Web應用程序根目錄作爲一個可配置參數屬性文件,數據庫字段或環境變量。 – shazin