0

我有一个 java servlet 应用程序,我们正在从 WebSphere 移植到 TC Server 并从 java 2 升级到 java 7。

在测试中,我们发现以 % 符号结尾的参数(包括密码)正在丢失。

这是一个示例片段

https://xxx.xxx/servletname?userName=abcdefg&password=abcdefg&folderName=ABCDEFG&Cycle%20Date=05/16/14&Account%20Number=815010009023%

帐号不在 parameterMap 中。

在研究中我发现。

如果我首先询问请求对象,则 getQueryString() 具有我的参数,但是 ... getParameterMap() 将其过滤掉。

因此,它适用于旧的 WebSphere/Java 2 版本,但不适用于 TC Server/Java 7 版本。

我尝试过的事情。

  request.setCharacterEncoding("utf-8") at the top of the doGet - no affect.
  <Connector ... URIEncoding="UTF-8" ... </Connector> in my server.xml - no affect.
4

1 回答 1

1

像这样放置一个悬空百分比可能是一个非法的 URL,因为它是一个不完整的字节。行为将是未定义的。

于 2014-08-19T23:01:40.710 回答