如何从Java Servlet检查WEB-INF中是否存在请求的文件?

如何从Java Servlet检查WEB-INF中是否存在请求的文件?,java,servlets,Java,Servlets,我正在编写一个过滤器,它将.js文件重定向到相应的.js.gz文件(如果存在)。所以foo.js将转到foo.js.gz。问题是,如何检查servlet的WEB-INF目录中是否存在相应的.js.gz文件 现在,如果我 System.out.println(httpServletRequest.getRequestURI()); File f = new File( httpServletRequest.getRequestURI() ); System.out.println( f.exis

我正在编写一个过滤器,它将
.js
文件重定向到相应的
.js.gz
文件(如果存在)。所以foo.js将转到foo.js.gz。问题是,如何检查servlet的WEB-INF目录中是否存在相应的.js.gz文件

现在,如果我

System.out.println(httpServletRequest.getRequestURI());
File f = new File( httpServletRequest.getRequestURI() ); 
System.out.println( f.exists);
我得到:

/test.js
false
即使文件存在

如何从servlet检查WEB-INF目录中是否存在相应的.js.gz文件

使用方法


有关更多信息,请阅读下面的注释。

我似乎不必指定/WEB-INF,只需执行
String path=request.getServletContext().getRealPath(request.getRequestURI());文件f=新文件(路径)
似乎给出了正确的结果。而
request.getRequestURI()
给出了类似于
/foo.js
的内容,请在文件名的末尾测试它,并添加
.gz
File file = new File(request.getServletContext().getRealPath("/WEB-INF/foo.js.gz"));
System.out.println(file.getAbsolutePath());
if(file.exists()){
    System.out.println("file exists");
}