我正在尝试使用外部文件夹来存储我的Java EE 6项目的图像。我正在使用Glassfish 3.1.2。我创建了我在这篇文章中找到的sun-web.xml:
Glassfish 3 - Loading images from a static server
也包含在这里:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app>
<property name="alternatedocroot_1" value="from=/imgs/slideshow/* dir=c:/users/jonathon/desktop/images" />
<property name="alternatedocroot_2" value="from=/imgs/feed/* dir=c:/users/jonathon/desktop/images" />
<property name="alternatedocroot_3" value="from=/imgs/question/* dir=c:/users/jonathon/desktop/images" />
</sun-web-app>
虽然我不打算将它保留在我的桌面上,但我只是在我在服务器上使用它之前尝试测试它。在我的页面上,我使用此实现来显示图像:
<div class="item">
<h:graphicImage value="/imgs/slideshow/${imgs}" />
</div>
但是我只得到一张空白图片。我确保目录正确(如果您没有现有目录,则在加载服务器时会出现异常)
我认为一个更明确的问题是使用外部图像文件夹的正确方法是什么,以及如果可能,您如何写入这些文件夹?
答案 0 :(得分:0)
您的路径将附加from
值。我们会要求您提供图片,例如c:/users/jonathon/dektop/images/imgs/slideshow*
。过去对我来说也有些麻烦。希望这能让你前进。
您不需要docroot来写入此文件夹。你可以使用:
String path = new StringBuilder("c:")
.append(File.separator)
.append("users")
.append(File.separator)
.append("jonathon")
.append(File.separator)
.append("desktop")
.append(File.separator)
.append("images")
.append(File.separator)
.append("imgs")
.append(File.separator)
.append("slideshow")
.append(File.separator)
.append("myfile.jpg")
.toString();
File file = new File(path);