Java Servlet getParameter für einen Parameter, der eine URL ist

Ich baue eine Site auf, die eine URL für Analysezwecke an ein Servlet sendet. Auf der Clientseite übermittle ich die URL als einen Parameter, der codiert ist. Beispielsweise..

Submit: http://www.site.com
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com

uf der Serverseite muss ich meinem Servlet den Parameter so anfordern ...

String url = request.getParameter("url");

Was ich erhalte, ist eine dekodierte Zeichenfolge:http: //www.site.co. So weit so gut - das funktioniert wie erwartet ... die meiste Zeit.

Das Problem tritt auf, wenn ein URL-Parameter eigene Parameter enthält ...

Submit: http://www.site.com?param1=1&param2=2
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com%3Fparam1%3D1%26param2%3D2

Auf dem Client ist alles in Ordnung, aber in meinem Servlet erhalte ich nur einen Teil des URL-Parameters, wenn ich den Parameter erhalte!

http://www.site.com?param1=1

Es hat den zweiten Parameter aus meinem Eingabe-URL-Parameter gelöscht! Ich verschlüssele den URL-Parameter definitiv, bevor ich ihn an den Server übermittle ... was ist los?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage