我无法访问JBoss中包含特殊字符的目录。我已经配置了JBoss,因此启用了目录列表。
例如,假设我在JBoss中部署了一个war(myApp.war),其中包含一个名为“Categoría1”的目录。
为了从浏览器访问战争内容,我正确浏览到:
"http://localhost:8080/myApp/"
当我浏览此URL时,我会正确显示内容,包括“Categoría1”目录名称。浏览器显示的URL是获取此目录的链接:
"http://localhost:8080/myApp/Categor%C3%ADa%201/"
但是当我尝试浏览此目录时,出现404错误:
"JBWEB000065: HTTP Status 404 - /myApp/Categor%C3%ADa%201/
JBWEB000309: type JBWEB000067: Status report
JBWEB000068: message /myApp/Categor%C3%ADa%201/
JBWEB000069: description JBWEB000124: The requested resource is not available.
JBoss Web/7.2.2.Final-redhat-1"
我的最终目的是从servlet获取目录内容并解析响应以不同的方式显示这些内容,而不仅仅是因浏览目录而返回的html。但由于我遇到了与字符编码相同的问题,我只是使用Chrome或iExplorer浏览器测试了一些更简单的东西,但问题似乎是一样的。
答案 0 :(得分:1)
我找到了解决这个问题的方法。它与JBoss配置有关。编码必须设置为UTF-8(在我的例子中)。独立服务器的配置文件位于:
JBoss_base_directory/standalone/configuration/standalone.xml
和要设置的属性:
<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>