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

时间:2014-07-19 22:59:24

标签: 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.exists);

我明白了:

/test.js
false

即使文件存在。

1 个答案:

答案 0 :(得分:3)

  

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

使用ServletContext#getRealPath()方法。

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");
}

欲了解更多信息,请阅读以下评论。