Estoy creando un sitio que envía una url a un servlet para fines de análisis. En el lado del cliente, presento el url como un parámetro codificado. Por ejemplo ...Java Servlet getParameter para un parámetro que es una URL
Submit: http://www.site.com
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com
En el lado del servidor, tengo a mi petición de servlet el parámetro así ...
String url = request.getParameter("url");
lo que recibo es una cadena decodificada: http://www.site.com. Hasta aquí todo bien, esto funciona como se espera ... la mayoría de las veces.
El problema se produce cuando un parámetro URL contiene parámetros de su propia ...
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
Todo está bien en el sitio del cliente, pero en mi servlet cuando llegue el parámetro que reciben sólo una parte de la url param!
http://www.site.com?param1=1
Se cayó el segundo parámetro de mi entrada url param! Definitivamente estoy codificando el parámetro de URL antes de enviarlo al servidor ... ¿qué está pasando?
No se puede reproducir esto en Tomcat 6.0.29. ¿Qué servletcontainer? – BalusC
Usando Tomcat 6.0.29. Mi servlet está extendiendo HttpServlet. –
igual que BalusC, no puedo reproducir su error en tomcat 5.5 o 6. No hubo necesidad de codificar/decodificar el texto. ¿Puede mostrarnos su código/formulario del lado del cliente? – Sean