我有一个在Glassfish 3.1.1下运行的JSF 2.0应用程序,我需要提供静态网页,这些网页在物理上位于我的部署WAR文件时创建的应用程序根目录之外.我已经找到了各种引用(比如这一个和这一个)来定义一个使用标签的备用docroot
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
Run Code Online (Sandbox Code Playgroud)
添加到sun-web.xml(我认为这意味着Glassfish 3.1.1中的glassfish-web.xml).但是,我似乎无法让它工作.在我的例子中,我认为问题是glassfish-web.xml没有为备用docroot定义足够的上下文以具有任何含义:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)
我的应用程序定义的内容似乎在web.xml中比glassfish-web.xml更多.我是否可能需要在那里放一些东西来引用备用docroot?
这种确切的配置需要一个/images/myimages相对于运行Web服务器JVM的同一磁盘的绝对根目录的文件foo.png夹http://localhost:8080/contextname/myimages/foo.png.然后,该文件夹中的文件可用.
围绕此设置的常见混淆是该from属性被解释为URL中的上下文路径,而不是该dir位置中的实际子文件夹.但事实并非如此.
如果你在Windows环境下运行的Glassfish,那么你需要指定的盘符中dir还有像这样dir=C:/images.
| 归档时间: |
|
| 查看次数: |
3005 次 |
| 最近记录: |