为什么要用编码原因?

    因为原本就是个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

在前台对地址进行两次编码



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;