我在 URL 中传递了一个编码的 SSO token ...所以 URL 看起来像
http://127.0.0.1:7101/CRMOD_UCM-Sankalp-context-root/BrowseFile.jsp?token=%246%24zhxjx%2fpz6dVucl9cgG43ii2Tr4qVnNbeqJg8jCy6Jj7vRvXN4%3d%3b%246%24GlRGp%2fxfEM308NZGmY%2fhjHav2yjHSvbww1l0%2fCcCtcVjzl%2bCQFlQPdBRKO0t1XUmF0I6xLmfQ%2fnb7VgJeSYnvrAb9YUQQ3tvr%2fBZ%2bIRZiBAGU2%2fZg%3d
但是当我检索变量的值并使用 out.println("SSO token :"+request.getParameter("token")); 它打印
$6$zhxjx/pz6dVucl9cgG43ii2Tr4qVnNbeqJg8jCy6Jj7vRvXN4=;$6$GlRGp/xfEM308NZGmY/hjHav2yjHSvbww1l0/CcCtcVjzl+CQFlQPdBRKO0t1XUmF0I6xLmf Q/nb7VgJeSYnvrAb9YUQQ3tvr/BZ+IRZiBAGU2/Zg=
正确的标记出现在 URL 中,为什么我在打印中得到如此不同的值...
请帮忙......
最佳答案
request.getParameter("token")
解码参数值,因此打印的值是 URL 中参数值的解码版本。
参见 Java EE, accent in url, request.getParameter wrong value获取更多信息。
关于java - 从 URL 中检索编码值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12599282/