在JavaWeb專案的定時任務中獲取相對路徑
阿新 • • 發佈:2018-11-01
在JavaWeb專案定時任務中無法使用以下方法獲取路徑
request.getContextPath()
public String getPosition(String name,String telNumber,HttpServletRequest request) throws Exception { System.out.println("類檔案路徑:" + request.getContextPath() + "\\WEB-INF\\classes"); System.out.println("類檔案路徑:" + RequestContext.class.getResource("/").getFile() + "BaseStationconfig.xml"); }
可以用以下方法獲得相對路徑
public static PlayMusic getDoorBaseStationMac() throws Exception { WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext(); ServletContext servletContext = webApplicationContext.getServletContext();System.out.println("檔案路徑:" + "/WEB-INF/classes/BaseStationconfig.xml"); FileInputStream xmlInputStream = (FileInputStream) servletContext.getResourceAsStream("/WEB-INF/classes/BaseStationconfig.xml"); }
檔案在工程目錄位置見下圖