【发布时间】:2013-08-06 12:17:55
【问题描述】:
我读过这个关于在动态项目中访问静态文件的问题:Where to place a directory of static files in Eclipse Dynamic Web Project
唯一的答案建议使用 ServletContext 中的 getRealPath 方法。
我有一个动态项目,其中常规 Java 类(不是 servlet,不是 JSP)必须访问具有固定路径的静态文件。这个类是从 JSP 调用的,但是无论我把这个文件放在哪里(项目根目录、WebContent 文件夹...)都会引发 FileNotFound 异常。
这个类有没有办法自己访问动态 Web 项目中的静态文件,而不必从 servlet 接收“真实路径”? 这样做的正确方法是什么?
非常感谢。
这是类访问静态文件的行:
System.setProperty("javax.net.ssl.trustStore","trust.jks");
System.setProperty("javax.net.ssl.keyStore","cliente.jks");
我尝试将它们放在根目录下,WebContent、WebContent/WEB-INF 和 WEB-INF/lib。
我猜绝对路径会起作用,但我认为这不是一个好主意。
根异常是:
java.io.FileNotFoundException: cliente.jks (El sistema no puede hallar el archivo especificado)
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(Unknown Source)
java.io.FileInputStream.<init>(Unknown Source)
sun.security.ssl.SSLContextImpl$DefaultSSLContext$2.run(Unknown Source)
sun.security.ssl.SSLContextImpl$DefaultSSLContext$2.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
sun.security.ssl.SSLContextImpl$DefaultSSLContext.getDefaultKeyManager(Unknown Source)
sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(Unknown Source)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
【问题讨论】:
-
向我们展示一些代码和目录布局如何?
-
您是否尝试过使用文件的绝对路径?
-
你能发布你的代码吗?
标签: java jsp servlets static-files