Java Servlet getParameter для параметр, являющийся URL-адресом

Я создаю сайт, который отправляет 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 перед отправкой на сервер ... что происходит?

9
задан Michael Balint 20 September 2010 в 12:39
поделиться