Java Web: определение URL с конечным знаком вопроса и пустой строкой запроса - PullRequest
0 голосов
/ 02 февраля 2011

Могу ли я узнать, есть ли в URL завершающий вопросительный знак?Теоретически это будет пустая ненулевая строка запроса, в то время как ни один знак вопроса вообще не будет пустой строкой запроса.Но в любом случае мое веб-приложение получает request.getQueryString() == null.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Как примерно так: -

boolean hasTrailingQuestionMark = "GET".equals(request.getMethod()) && request.getParameterNames().hasMoreElements();

Я могу ошибаться, но если запрос GET и у него есть параметры, то я думаю, что мы можем с уверенностью предположить, что после URI есть завершающий вопросительный знак.

UPDATE

Я только что протестировал код, этот подход работает, только если у вас есть параметры: http://server/bla?param=1. Однако, если у вас есть только http://server/bla?, это условие не будет выполнено. Я не знаю, пытаетесь ли вы перехватить последнюю подпись URL.

0 голосов
/ 02 февраля 2011
String url = request.getRequestURL().toString();
if(url.indexOf("?")== -1){//it doesn't}
...