Url 访问JBoss中包含特殊字符的目录

Url 访问JBoss中包含特殊字符的目录,url,encoding,jboss,Url,Encoding,Jboss,我无法访问JBoss中包含特殊字符的目录。我已经配置了JBoss,因此启用了目录列表 例如,假设我在JBoss中部署了一个war(myApp.war),其中包含一个名为“Categoría 1”的目录 为了从浏览器访问war内容,我正确浏览到: "http://localhost:8080/myApp/" 当我浏览这个URL时,我得到了正确显示的内容,包括“Categoría 1”目录名。浏览器显示为获取此目录的链接的URL为: "http://localhost:8080/myApp/Cat

我无法访问JBoss中包含特殊字符的目录。我已经配置了JBoss,因此启用了目录列表

例如,假设我在JBoss中部署了一个war(myApp.war),其中包含一个名为“Categoría 1”的目录

为了从浏览器访问war内容,我正确浏览到:

"http://localhost:8080/myApp/"
当我浏览这个URL时,我得到了正确显示的内容,包括“Categoría 1”目录名。浏览器显示为获取此目录的链接的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浏览器测试了一些更简单的东西,但问题似乎是一样的。

我找到了解决方法。它与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>