从 Wildfly 服务器使用 HTTP 访问文件

Access file using HTTP from Wildfly server

我面临一个与在 Wildfly 中通过 HTTP 访问文件相关的问题 (JBoss)。 我正在 运行在 Wildlfy-9.0 上创建一个应用程序。1.Final

在我的应用程序中有一个 link 单击,它应该打开相应的文件并显示其内容。但是当我点击 link 时,它给了我 404-Not found 错误。

我可以看到该文件存在于与锚标记中 href 中给定的路径相同的路径上。我不明白给出 404 错误是什么意思。

我是否需要在 Wildfly 中启用任何其他设置才能通过 HTTP 访问文件。如果有,请指教。

编辑:

我在 <handlers> 中的路径如下所示

path="/usr/local/jboss/server/default/deploy/"

此目录结构尚未完成,因为在 运行 时将使用 java 实际文件所在的代码动态附加更多路径。

例如:path="/usr/local/jboss/server/default/deploy/demo/1/filename"

其中/usr/local/jboss/server/default/deploy/为静态路径,demo/1/filename为动态路径

同样在 /directory-listing-urilocation 一些路径是在 tun 时动态生成的。

例如: 假设下面是 directory-listing-uri

http://[wildfly host]:[port]/{static}/{dynamic}/{dynamic}/{dynamicFileName}.iif

所以我不确定 wildfly 如何满足我显示文件的目的。

如有错误请指正

要公开文件列表(和下载)的目录,您可以在 standalone.xml 配置中添加两个配置元素(如果您 运行 wildfly 作为独立服务器),如下所示:

<subsystem xmlns="urn:jboss:domain:undertow:2.0">
     ...
     <server name="default-server">
         ...
         <host name="default-host" alias="localhost">
             ...
             <location name="/directory-listing-uri" handler="directory-listing-handler"/>
             ...
         </host>
         ...
     </server>
     ...
     <handlers>
         ...
         <file name="directory-listing-handler" path="/home/example/..." directory-listing="true"/>
     </handlers>
     ...
</subsystem>

注意:关于jboss-cli的配置,可以看一下

然后您将在此位置获得一个漂亮的目录列表 GUI:

http://[wildfly host]:[port]/directory-listing-uri