为什么要用编码原因?
因为原本就是个url,要在url里面传一个参数,参数是url,这样参数url里也有? = &之类的, url?name=zs&url
所以要把参数url编码为%之类的方式,然后在接收方解码,如
http://www.so.com/link?url=http%3A%2F%2Fblog.sina.com
前台使encodeURIComponent把地址编码,
后台jsp或servlet在调用request.getParameter的时候Java自动对地址解码,所以就乱码了.
1.编码
Js
在前台对地址进行两次编码 encodeURIComponent(encodeURIComponent(message))
2.解码
Java
在后台使用URLDecoder.decode(request.getParameter("name"), "UTF-8");解码
3.Java中URLEncoder.encode和encodeURIComponent的区别
1)encodeURIComponent和decodeURIComponent在前端使用
2)URLEncoder.encode和URLDecoder.decode在后台使用
import java.net.URLEncoder;