Очевидно, что порядок параметров запроса не сохраняется в контейнере сервлетов Tomcat (на Google, похоже, другие контейнеры имеют ту же проблему).
Это кажется очень неправильным.
Как восстановить действительный порядок параметров запроса из запроса HttpServletRequest?
EDIT
Кстати, для тех, кто считает, что порядок для параметров запроса не имеет значения, есть разница между:
http://blah?a=1&a=2
и
http://blah?a=2&a=1
Таким образом, порядок имеет значение для дублирующих параметров запроса (к счастью, Java справляется с этим правильно).