我正面临与Wildfly(JBoss)中通过HTTP进行文件访问相关的问题。 我正在Wildlfy-9.0.1.Final上运行一个应用程序
在我的应用程序中有一个点击链接,它应该打开相应的文件并显示其内容。但是当我点击链接时,它会给我404-Not found错误。
我可以看到该文件存在于锚标记中href中给出的相同路径上。我不明白它给404错误做了什么。
我是否需要在Wildfly中启用任何其他设置来通过HTTP访问文件。如果是,请咨询。
修改
<handlers>
中的路径如下所示
路径=&#34;在/ usr /本地/的JBoss /服务器/默认/部署/&#34;
此目录结构尚未完成,因为在运行时将使用实际文件所在的Java代码动态附加更多路径。
例如:path="/usr/local/jboss/server/default/deploy/demo/1/filename"
其中 / usr / local / jboss / server / default / deploy / 是静态路径, demo / 1 / filename 是动态的。
同样位于/directory-listing-uri
location
中的某个路径是在调试时动态生成的。
对于前:
以下假设为directory-listing-uri
http://[wildfly host]:[port]/{static}/{dynamic}/{dynamic}/{dynamicFileName}.iif
所以我不确定wildfly将如何满足我显示文件的目的。
如果我不正确,请更正。
答案 0 :(得分: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>
注意:对于jboss-cli配置,您可以查看this answer
然后,您将在此位置获得一个漂亮的目录列表GUI:
http://[wildfly host]:[port]/directory-listing-uri