我正在编写一个过滤器,它将 .js
文件重定向到其对应的 .js.gz
文件(如果存在)。所以 foo.js 会转到 foo.js.gz。问题是,如何从 servlet 中检查相应的 .js.gz 文件是否存在于 WEB-INF 目录中?
目前,如果我这样做
System.out.println(httpServletRequest.getRequestURI());
File f = new File( httpServletRequest.getRequestURI() );
System.out.println( f.exists);
我得到:
/test.js
false
即使文件存在。
最佳答案
how do I check if the corresponding .js.gz file exists in the WEB-INF directory from the servlet?
使用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");
}
有关更多信息,请阅读下面的评论。
关于java - 如何从 Java Servlet 检查请求的文件是否存在于 WEB-INF 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845753/