【问题标题】:Resource not found error when resource is located two folders inside web folder (Netbeans - java web app)当资源位于 web 文件夹内的两个文件夹时,资源未找到错误(Netbeans - java web app)
【发布时间】:2011-04-16 14:44:58
【问题描述】:

使用 NetBeans 6.8 ... Java Web 应用程序
假设当前位置/目录是(默认)web 文件夹,执行的文件是 web 文件夹中的 index.jsp。

我在 web 文件夹中创建了一个名为“a1”的文件夹,并在“a1”文件夹中创建了一个名为“a2”的文件夹。

网络 --> a1 --> a2
每个文件夹都包含 Image.png

<a href="Image.png">Image</a> // works when clicked on the link
<a href="/a1/Image.png">Image</a> // works when clicked on the link
<a href="/a1/a2/Image.png">Image</a> // does not work !!!!!!!

任何超过 1 个文件夹 deep 的文件都会生成错误 'resource not found'
为什么会这样?

【问题讨论】:

  • 我刚试过。它适用于我的机器。您使用的是什么服务器(tomcat,glassfish)?你的服务器对 a2 目录有读取权限吗?
  • 我正在使用 glassfish 服务器...我不知道如何配置 glassfish 服务器以获得读取权限...错误发生在任何两个或多个级别深的文件夹...我试过了使用不同的文件(不同的扩展名)...不同的文件夹...使用 href="a1/a2/Image.png" (而不是 /a1)...但它们都不起作用
  • 3 小时后我发现问题出在哪里...... glassfish v3 服务器无法识别在构建和运行过程(在 Netbeans 中)之后创建的文件夹!!!!!!!!! !!!!!!文件夹是在我的项目中动态创建的,因此出现了问题......这些文件夹是在用户上传文件时创建的......并且下载链接分别提供给用户......现在我必须找到一种方法来提供文件以供下载到用户以其他方式!

标签: jsp web-applications resources subdirectory


【解决方案1】:

看起来您有某种解决方案,但这似乎不是最佳方法。与其将图像文件保存在磁盘上,不如通过将它们存储在数据库中将其从服务器流式传输出去。上传后,将图像作为 Blob 存储在数据库中,稍后使用 servlet 提供图像。请看Apache File Upload

【讨论】:

  • 假设我将上传的文件存储在 C:\temp 文件夹中...而我的 Netbeans 项目路径是 C:\NetBeans\WebApplication3...有什么方法可以流式传输或制作文件C:\temp 文件夹 可供下载.....我不想在数据库中插入二进制数据...请阅读 [retrieving-binary-data-varbinarymax-from-sql] 中的 cmets -server-2008-using-jsp] (stackoverflow.com/questions/5606161/…) .....感谢您的帮助!!!
  • 是什么让您认为在您的案例中将图像存储在数据库中不是一个好主意?请查看此帖子stackoverflow.com/questions/1010652/… 以得出正确的结论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
相关资源
最近更新 更多