文件路徑獲取的時候,在A電腦的本地服務啟動環境下可以成功,但是在B電腦的本地服務上去獲取的結果為Null
獲取方法為 String path = request.getServletContext().getRealPath("resource/downloadFile/");
后來分析原因:在servlet中使用getServletContext.getRealPath()這個方法受到war 和non-war的影響,以及不同app server實現的影響,所以常常會得到null;
解決方法:直接獲取當前類的編譯絕對路徑,然后再通過當前類的相對路徑去找到你需要的文件位置;
舉個例子,我的文件是放在webapp/resource/downloadFile/這個文件夾里面,那它相對於我當前編譯類的位置就是../../resource/downloadFile/,所以我修改獲取方法為
String path = this.getClass().getClassLoader().getResource("../../resource/downloadFile/").getPath();
轉載自:https://blog.csdn.net/wuge507639721/article/details/80350719
