有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java getParameterMap()缺少getQueryString()中传递的参数

我有一个JavaServlet应用程序,我们正在从WebSphere移植到TC服务器,并从Java2升级到Java7

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

下面是一个示例片段

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

帐号不在参数映射中

在研究过程中我发现

如果我首先询问请求对象,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.

共 (1) 个答案

  1. # 1 楼答案

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