自己的應用名為"a",見具體部署路徑C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\a,
現在文件夾"a"下邊有一文件夾? "doc",在用到包java.io.File里方法file.delete()對doc文件夾下的目錄以及文件進行刪除時,沒效果!剛開始以為是方法沒用對,由于在eclipse下test成功,因此排除這種可能。
應該是tomcat的安全問題,在網上找了一片文章"The Apache Jakarta Tomcat 5.5 Servlet/JSP contaniner Security Manager HOW-TO",看完之后,便開始進行嘗試……
打開C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\catalina.policy并進行修改,加入代碼"http://========Documentation management permissions====
grant codeBase "file:${catalina.home}/webapps/a/doc/-" {
???????? permission java.io.FilePermission "delete";
}
"
save,重啟tomcat,一切順利,file.delete()方法成功。
很明顯,These permissions which are granted by default to all web applications are "read", "write".
至于"execute",我沒嘗試。