4

我是 jsp 和 java 的新手,我目前正在尝试从位于我的 C: 驱动器中的文件夹中的 jsp 页面上显示图像..但由于某种原因,无论如何我都无法显示它我尝试什么......我目前拥有它,如下所示:

<img src="/argsdbPics/mazda.jpg" width = "90" height = "55" alt ="mazda"/>

这是什么原因造成的,如何处理?

4

3 回答 3

4

它必须通过http://URL 可用(就像您通常在浏览器的地址栏中输入的那样)。即必须通过 URL 单独下载图像的网络浏览器,而不是必须在生成 JSP 期间以某种方式自动包含它们的网络服务器。

最简单的方法是编辑 Tomcat/conf/server.xml并添加一个新<Context>元素以在任意文件夹上注册一个虚拟 URL。假设图像文件夹位于C:\path\to\argsdbPics,这是一个示例:

<Context docBase="/path/to/argsdbPics" path="/argsdbPics" />

这样文件夹内容就可以通过http://localhost:8080/argsdbPics/.... 因此,如果您mazda.jpg在文件夹中有一个C:\path\to\argsdbPics,这样它就可以通过http://localhost:8080/argsdbPics/mazda.jpg. 这样,您的以下 HTML 尝试应该可以工作:

<img src="/argsdbPics/mazda.jpg" />
于 2012-10-25T17:24:37.890 回答
0

如果您使用 struts 和 jsp,我找到了一个很好的方法,无需任何 tomcat 更改,您就可以实现 ServletRequestAware 接口并以这种方式调用它:

      String filePath = servletRequest.getRealPath("/");
于 2013-11-11T15:02:57.693 回答
0

我做了一个棘手的解决方案..我知道这不是最好的,但它正在工作..
当我将照片上传到目录时,我用随机密码密钥加密它们并给它们一个随机名称..密钥和名称被存储在数据库中..
所以当我想显示一张照片时,我在一个临时文件夹中解密它并阅读它..当不再使用所需的页面时我删除了..
即使你得到了真实的路径,你也可以'不要使用加密文件。

于 2017-08-30T15:30:00.250 回答