Я создаю сайт, который отправляет URL сервлету для анализа. На стороне клиента я отправляю URL как закодированный параметр. Например ...
Submit: http://www.site.com
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com
На стороне сервера у меня сервлет запрашивает параметр примерно так ...
String url = request.getParameter("url");
Я получаю декодированную строку: http://www.site.com . Пока все хорошо - это работает, как ожидалось ... большую часть времени.
Проблема возникает, когда параметр url содержит собственные параметры ...
Submit: http://www.site.com?param1=1¶m2=2
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com%3Fparam1%3D1%26param2%3D2
На клиентском сайте все нормально, но в моем сервлет, когда я получаю параметр, я получаю только часть параметра url!
http://www.site.com?param1=1
Он потерял второй параметр из моего входного параметра url! Я определенно кодирую параметр url перед отправкой на сервер ... что происходит?