java HTTP400:GET请求在Wildfly 18上不起作用,但在JBoss 7上起作用
最近我从JBoss7.1.1升级到了Wildfly 18.0.0。 在wildfly上运行我的耳朵时,以下url不起作用
http://localhost:8080/xxx-yyy/contract/subPeriodBlockingPairsAction.do?target=prepareSubPeriodBlockPairs&contractIdSubPeriodId=416|837
然而,相同的url在JBoss 7.1.1上工作
该应用程序是基于struts的。目标方法具有以下语法-
public ActionForward prepareSubPeriodBlockPairs(final ActionMapping mapping, final ActionForm form, final ActionErrors validationErrors,
final HttpServletRequest request, final HttpServletResponse response)
我试着设置调试点,在Wildfly上调试时从未达到该点
但在JBoss上调试时到达
# 1 楼答案
Wildfly 18.0无法识别管道操作符
根据HTTP的RFC1738规范,“|”(管道)字符也是不安全的
因此,这里必须使用url encoding来解决这个问题