本人不才,写JAVA web程序一年,居然还不知道这个两个的具体用途,在网上也搜过,
也看过JDK帮助文档,自己也做过测试,也大致知道一些关于 URLEncoder是对字符编码,
URLDecoder是对字符进行解码:
1.大写字母A-Z
2.小写字母a-z
3.数字 0-9
4.标点符 "." "-" "*" and "_"
不会被编码,是安全的,
我就搞不懂,它们所指别的字符的都是不安全的,究竟是哪不安全,能不能举个例子??
另外,这种编码解码在WEB开发中,有什么意义,能不能举个例子?请高手赐教,问题解决即结分!
即:response.sendRedirect("err.jsp?msg"+java.net.URLEncoder.encode("乱码"))
不过最好用变量而不要直接用中文:response.sendRedirect("err.jsp?msg="+vmsg);
text = "abcd";url = "a.jsp?text="+text;
这样没有问题但是当text = "abcd&edf"; 这样url就是"a.jsp?text=abcd&edf"
request.getParameter就获得abcd,剩余的就解析为另外一个参数edf
所以需要对符号"&"编码
关注
String enc="UTF-8";
String url="Http://localhost:8080/forum.jsp?id="+URLEncoder.encoder(value1,enc);如果没有进行URL编码,getParameter("id")的值为 "123";另外,假设服务器的Http URL encoding 是"UTF-8", 而value1中含有中文。
那么,enc 也要是UTF-8。才能正确显示中文。