Запрос параметров в контейнерах сервлетов - PullRequest
1 голос
/ 22 марта 2012

Очевидно, что порядок параметров запроса не сохраняется в контейнере сервлетов Tomcat (на Google, похоже, другие контейнеры имеют ту же проблему).

Это кажется очень неправильным.

Как восстановить действительный порядок параметров запроса из запроса HttpServletRequest?

EDIT Кстати, для тех, кто считает, что порядок для параметров запроса не имеет значения, есть разница между:

http://blah?a=1&a=2

и

http://blah?a=2&a=1

Таким образом, порядок имеет значение для дублирующих параметров запроса (к счастью, Java справляется с этим правильно).

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Обычно вы не должны зависеть от порядка параметров. Если вы действительно уверены, что это необходимо, вы можете:

  • используйте request.getQueryString(), чтобы увидеть GET параметры
  • получить необработанный запрос (request.getInputStream()) и прочитать отправленные POST параметры.
0 голосов
/ 22 марта 2012

Вы, вероятно, могли бы использовать getRequestURL: http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getRequestURL() и оттуда проанализировать параметры.

НО, в ответ на ваш комментарий "Это кажется очень неправильным.", Я думаю, вы должны переосмыслитьВаша позиция.

Заказывать параметры просто не имеет смысла.Допустим, например, что вы запрашивали список автомобилей на основе параметров.Не должно иметь значения, запрашиваете ли вы список зеленых бродов или список зеленых автомобилей, которые являются бродами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...