Tôi đang tạo trang web gửi url đến servlet cho mục đích phân tích. Về phía khách hàng, tôi gửi url như một tham số được mã hóa. Ví dụ ...Java Servlet getParameter cho tham số là URL
Submit: http://www.site.com
Goes to: http://localhost/myservlet/?url=http%3A%2F%2Fwww.site.com
Về phía server, tôi có yêu cầu servlet tôi tham số như vậy ...
String url = request.getParameter("url");
Những gì tôi nhận được là một chuỗi được giải mã: http://www.site.com. Cho đến nay rất tốt - điều này hoạt động như mong đợi ... hầu hết thời gian.
Vấn đề xảy ra khi một param url chứa các thông số của riêng nó ...
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
Mọi thứ đều tốt trên các trang web của khách hàng, nhưng trong servlet của tôi khi tôi nhận được thông số tôi nhận được chỉ là một phần của url param!
http://www.site.com?param1=1
Nó bỏ thông số thứ hai từ thông số url đầu vào của tôi! Tôi chắc chắn mã hóa tham số url trước khi gửi nó đến máy chủ ... những gì đang xảy ra?
Không thể sao chép điều này trên Tomcat 6.0.29. Servletcontainer nào? – BalusC
Sử dụng Tomcat 6.0.29. Servlet của tôi đang mở rộng HttpServlet. –
giống như BalusC, tôi không thể tái tạo lỗi của bạn trong tomcat 5.5 hoặc 6. Không cần phải mã hóa/giải mã bất kỳ văn bản nào. Bạn có thể cho chúng tôi thấy mã/biểu mẫu phía khách hàng của bạn không? – Sean