Tôi gặp sự cố với Trình xác định URL của Java. Tôi đang thoát một String trong JavaScript, và gửi nó đến một servlet java. Sau đó, tôi giải mã chuỗi thoát bằng dòng sau:Java URLDecoder ném ngoại lệ khi được sử dụng với chuỗi chứa%
URLDecoder.decode(request.getParameter("text"), "UTF-8");
Điều này phù hợp với mọi ký tự đặc biệt mà tôi đã thử, chỉ có một vấn đề là '%'. Mỗi lần tôi sử dụng ký tự này trong chuỗi, tôi nhận được ngoại lệ sau:
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
java.net.URLDecoder.decode(URLDecoder.java:187)
at.fhv.students.rotter.ajax.count.CountServlet.doGet(CountServlet.java:31)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Đây có phải là lỗi đã biết không? Hoặc là nó thực sự sai lầm của tôi?
"Tôi đang thoát chuỗi bằng JavaScript". Làm sao? Bạn phải làm điều đó sai. – EJP