今天才知道原来HttpServletRequest.getParameters()对于空格的处理是这样的!

url: xxx?p=a+b
request.getParameters("p"): a b(a与b中间是空格)

url: xxx?p=a b(a与b中间是空格)
request.getParameters("p"): a b(a与b中间是空格)

url: xxx?p=a%20b
request.getParameters("p"): a b(a与b中间是空格)

url: xxx?p=a%2Bb
request.getParameters("p"): a+b

直接用Get请求的时候,如果参数中有+号或者空格一定要看看是不是应该先encode一下。如果是空格用javascript的escape()就能encode,如果是+号就得自己转了。