我正在构建一个网站,它会将URL提交到一个servlet进行分析。在客户端,我将URL作为编码的参数进行提交。例如...
Submit: http://www.site.com
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com
在服务器端,我通过servlet这样请求参数...
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
在客户端一切正常,但是在我的servlet中当我获取参数时,我只收到了部分url参数!
http://www.site.com?param1=1
我的输入URL参数中缺失了第二个参数!我肯定在提交之前对URL参数进行了编码…这是怎么回事?