在jsp和class文件中調(diào)用的相對路徑不同。 在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當(dāng)然你也可以用System.getProperty("user.dir")獲取你工程的絕對路徑。
另:在Jsp,Servlet,Java中詳細(xì)獲得路徑的方法!
1.jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當(dāng)前頁面全路徑:request.getRequestURI()
結(jié)果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結(jié)果:/TEST
(3)得到當(dāng)前頁面所在目錄下全名稱:request.getServletPath()
結(jié)果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在服務(wù)器的全路徑:application.getRealPath("頁面.jsp")
結(jié)果:D:"resin"webapps"TEST"test.jsp
(5)得到頁面所在服務(wù)器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結(jié)果:D:"resin"webapps"TEST
2.在類中取得路徑:
(1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()
結(jié)果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty("user.dir")
結(jié)果:D:"TEST
3.在Servlet中取得路徑:
(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數(shù)可具體到包名。
結(jié)果:E:"Tomcat"webapps"TEST
(2)得到IE地址欄地址:request.getRequestURL()
結(jié)果:http://localhost:8080/TEST/test
(3)得到相對地址:request.getRequestURI()
結(jié)果:/TEST/test