Java中獲取絕對路徑一般有這幾個方法:
request.getRealPath()// 此方法已過期,不推薦使用
this.getServletContext().getRealPath() //SERVLET中使用
this.getServlet().getServletContext().getRealPath() // Struts中使用
request.getSession().getServletContext().getRealPath() //Struts和SERVLET都可以使用
一般情況下使用this.getServlet().getServletContext().getRealPath()和 request.getSession().getServletContext().getRealPath()是一樣的效果,但是當我們部署的一個 EAR包裡面有多個WAR應用包共享會話時,request.getSession().getServletContext().getRealPath()這個可能取不到你想要的這個應用的絕對路徑,而取到的是其他應用的絕對路徑,所以,最好還是使用 this.getServlet().getServletContext().getRealPath()來獲取絕對路徑,避免在這種多應用會話共享情況下絕對路徑的錯亂