自己的应用名为"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并进行修改,加入代码"//========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",我没尝试。