在jsp和class文件中調(diào)用的相對路徑不同。在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當(dāng)然你也可以用System.getProperty("user.dir")獲取工程的絕對路徑。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了木壘哈薩克免費(fèi)建站歡迎大家使用!
另:在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é)果:
(3)得到相對地址:request.getRequestURI()
結(jié)果:/TEST/test
1. Class中獲得絕對路徑的方法
使用System.getProperty(user.dir")即可獲取到當(dāng)前工程所在位置的絕對路徑。
使用內(nèi)核ClassLoader提供的getSystemResource("")方法也可以或得到絕對路徑。
2. JSP中獲得絕對路徑的方法
獲得文件絕對路徑 的方法: application.getRealPath(request.getRequestURI());
當(dāng)前web應(yīng)用的絕對路徑 :application.getRealPath("/");
絕對路徑就是有盤符的這種寫法,同理就是F:\\java\\package9\\T903FileTestDemo.java