首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GlassFish 4.1交替根目录,访问静态内容

GlassFish 4.1交替根目录,访问静态内容
EN

Stack Overflow用户
提问于 2016-01-05 11:27:58
回答 2查看 2.8K关注 0票数 3

我需要使用这个URL http://localhost:8080/static/img1.jpg访问一些图像

图像位于"/home/andrea/Documents“中,应用程序上下文为"/”。我使用的是GlassFish 4.1.1。

在项目的/web.xml目录中,我得到了以下内容:(glassfish-web.xml)

代码语言:javascript
复制
<?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>
    <parameter-encoding default-charset="UTF-8" />
    <property name="alternatedocroot_1" value="from=/static/* dir=/home/andrea/Documents" />
</glassfish-web-app>

问题是,文件找不到。

我错过了什么?

是否有另一种方法来定义alternatedocroot` `或映射项目外部的虚拟目录?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-08 13:09:53

我已经解决了阅读这篇文章的问题:http://glassfish.10926.n7.nabble.com/unable-to-get-working-alternate-docroots-td40978.html

不幸的是,文档不太清楚,我试图解释我是如何解决问题的。

alternatedocroot,的 dir 值是基本目录,因此必须将为值从指定的完整路径放置到交替of的基本目录中。因此,在我的示例中,真正的结构是/home/andrea/Documents/static (请记住在dir值的末尾插入"/“)。

glassfish-web.xml

代码语言:javascript
复制
<?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>
    <parameter-encoding default-charset="UTF-8" />
    <property name="alternatedocroot_1" value="from=/static/* dir=/home/andrea/Documents/" />
</glassfish-web-app>

我的急迫

我的当务之急是有一个单独的目录来上传与".war“存档分离的图像。我找到的解决方案是将图像插入glassfish domain1目录的docroot目录中。

glassfish-web.xml

代码语言:javascript
复制
<?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>
    <parameter-encoding default-charset="UTF-8" />
    <property name="alternatedocroot_1" value="from=/static/* dir=./docroot/" />
</glassfish-web-app>

请记住,真正的路径必须包含静态目录:./glassfish/domain1/domain1 1/docroot/静态/

票数 6
EN

Stack Overflow用户

发布于 2017-03-08 03:41:24

谢谢,你很好,我的朋友。它为我工作,在我的玻璃鱼4.1.1.中。

我在WEB下的glassfish-web.xml,中有以下代码:

代码语言:javascript
复制
<?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="">
    <context-root>/GestionProcesos</context-root>
    <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>
</glassfish-web-app>

但是现在我的glassfish-web.xml文件是这样的:

代码语言:javascript
复制
<?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="">
    <context-root>/GestionProcesos</context-root>
    <class-loader delegate="true"/>
    <property name="alternatedocroot_1" value="from=/Downloads/* dir=/Users/Cristian/" />
</glassfish-web-app>

因此,要下载jsp中的文件:

代码语言:javascript
复制
<a href="${pageContext.request.contextPath}/Downloads/FileName.pdf" download="FileName.pdf">Download file</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34610625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档