1. 程式人生 > >怎麼獲取web專案的webroot根目錄下面的資料夾的路徑?

怎麼獲取web專案的webroot根目錄下面的資料夾的路徑?

在servlet裡面 :

//把路徑儲存為圖片
		String path=request.getSession().getServletContext().getRealPath("/WebRoot/picture/role.png") ;
		System.out.println(path);

控制檯資訊如下:

D:\TJN\apache-tomcat-7.0.73\apache-tomcat-7.0.73\webapps\BootStrap\WebRoot\role.png
java.io.IOException: 系統找不到指定的路徑。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1006)
	at cn.com.servlet.Dwg.doPost(Dwg.java:50)
	at cn.com.servlet.Dwg.doGet(Dwg.java:21)

我們可以看到打印出來的路徑是沒有問題的,

BootStrap是我的專案名,我想把圖片放在WebRoot的根目錄下面

為什麼報錯呢》

原因:

java.io.IOException: 系統找不到指定的路徑。at java.io.WinNTFileSystem.createFileExclusively(Native Method) 我想大家一定會碰到這種錯誤。解決辦法是先建立目錄。然後建立檔案。

 

也就是說,沒有這個資料夾存在D:\TJN\apache-tomcat-7.0.73\apache-tomcat-7.0.73\webapps\BootStrap\WebRoot

我們開啟tomcat-webapps

發現根本沒有WebRoot目錄;

問題原來在這裡;

修改過後:

//把路徑儲存為圖片
		String path=request.getSession().getServletContext().getRealPath("/picture/role.png") ;
		System.out.println(path);
		File f = new File(path);