我正在开发spring应用程序并设置了映射资源:
<resources mapping="/src/**" location="/src/" order="-1" />
现在我可以访问src文件夹中的所有文件而无需登录,这没关系。 现在我尝试使用File Class读取src文件夹中的所有文件,但现在我没有读取文件的权限。怎么解决这个问题?
File file = new File(rquest.getContextPath()+"/src");
file.setReadable(true, true);
System.out.println(file.listFiles());
所以listFiles()函数返回null,我认为这是权限问题吗?
答案 0 :(得分:0)
这不是权限问题。您尝试通过用于Web访问的r(e)quest.getContextPath()
访问文件(不是文件系统!)
如果要通过文件系统访问项目工作区/部署位置中的文件,则应使用以下方法:
Resource myData = new ClasspathResource("myData.xml"): - this will be relative to WEB-INF deploy directory
或:
new File(servletRequest.getSession().getServletContext().getRealPath("/")+"/your-path-relative-to-WEB-INF-deploy-path");
我个人推荐方法#1
修改强>
您的问题表明您认为正在部署src
文件夹(使用WAR / EAR / Built项目复制到服务器,这通常不正确。通常,Webpages文件夹(您在应用程序中调用它的名称)并且正在部署WEB-INF内部的所有内容。希望这有用。