File file = new File(requestUri);
错了 该
java.io.File知道 什么
关于它运行在webapp背景下,该文件的路径将是相对于当前的工作目录,你如何启动应用程序服务器是依赖的方式。例如,它可能是相对于
C:/Tomcat/binWebapp根目录的,而不是您所期望的。你不要这个
用
ServletContext#getRealPath()一个相对路径网络转化为一个绝对的磁盘文件系统的路径。该
ServletContext是由继承servlet的可用
getServletContext()方法。因此,以下应指出正确的文件:
String absoluteFilePath = getServletContext().getRealPath(requestUri);File file = new File(absoluteFilePath);if (file.exists()) { // ...}或者,如果目标容器不是在物理磁盘文件系统上扩展WAR,而是在内存中扩展WAR,则最好使用
ServletContext#getResource():
URL url = getServletContext().getResource(requestUri);if (url != null) { // ...}


