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

mah*_*wde 2 http download wildfly wildfly-9

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

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

我可以看到该文件存在于锚标记中的href中给出的相同路径上.我不明白它给404错误做了什么.

我是否需要在Wildfly中启用任何其他设置来通过HTTP访问文件.如果是,请咨询.

编辑:

我的路径<handlers>看起来像这样

路径= "在/ usr /本地/ JBoss的/服务器/ 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一些路径是动态的,在桶时产生.

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

http://[wildfly host]:[port]/{static}/{dynamic}/{dynamic}/{dynamicFileName}.iif
Run Code Online (Sandbox Code Playgroud)

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

如果我不正确,请更正.

Rém*_*tos 5

要公开文件列表(和下载)的目录,您可以在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>
Run Code Online (Sandbox Code Playgroud)

注意:对于jboss-cli配置,您可以查看此答案

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

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