我们遇到了迁移问题,我们将应用程序从 JBoss 4.2.1.GA 迁移到 JBoss EAP 7.0.0.GA。遇到的异常如下。
java.lang.RuntimeException: java.nio.charset.IllegalCharsetNameException:
at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:226)
所以我们有一个相同的修复,其中涉及
在 struts config.xml 文件中添加以下内容。
配置中的这一行
<controller processorClass="org.apache.struts.chain.ComposableRequestProcessor"
locale="true" nocache="false" contentType="text/html; charset= UTF8">
<set-property property="maxFileSize" value="7M"/>
</controller>
已将标记从 charset= UTF8 更改为 charset= ISO-8859-1" 和一个附加属性
这已经解决了问题,但想知道 ComposableRequestProcessor 类的正确用法是什么。以及为什么它在这里帮助我们的解决方案。
我们在网上没有看到适当的文档或博客来解释为什么以及何时需要添加此配置。这样做有什么好处?
另外,我们想知道 JBoss 4.2.1.GA 没有强制执行页面上下文编码,但是在 JBoss EAP 7.0.0.GA 中我们需要将它定义为 ISO,否则它在 windows 服务器环境中将无法工作。我们知道它与 JBoss 使用的早期 Apache Tomcat HTTPS 实现框架上的一些 Undertow 实现有关。
任何通过指向正确的文档或信息的帮助都会受到广泛赞赏。