各位大虾:jsp1.jsp
<a href="jsp2.jsp?name=C#">click</a>jsp2.jsp
<%
String name = request.getParameter("name");
out.println(name);
%>当在jsp1.jsp中点链接时,在jsp2.jsp中得不到传递过来的"#"号,
还有如果传递的是"C%"时,还会发生异常
这是怎么回事呀?
<a href="jsp2.jsp?name=C#">click</a>jsp2.jsp
<%
String name = request.getParameter("name");
out.println(name);
%>当在jsp1.jsp中点链接时,在jsp2.jsp中得不到传递过来的"#"号,
还有如果传递的是"C%"时,还会发生异常
这是怎么回事呀?
<%
String content = "C#编程";
content = java.net.URLEncoder.encode(content,"gbk");
%>
<a href="jsp2.jsp?name=<%=content%>">click</a>jsp2.jsp
<%
String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"gbk");
out.println(name);
%>我已经用上面这种方式搞定了,不知道还有没有更好的方式呢?
接收前来一句 request.setCharacter("gbk");
http://SomeUser:[email protected]_server.com:8080/path/file.html
URL无法显示某些特殊符号,这个时候就要使用编码了。编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。(ASCII参考)
有些字符在URL中具有特殊含义,基本编码规则如下:
特殊含义 十六进制值
1.+ 表示空格(在 URL 中不能使用空格) %20
2./ 分隔目录和子目录 %2F
3.? 分隔实际的 URL 和参数 %3F
4.% 指定特殊字符 %25
5.# 表示书签 %23
6.& URL 中指定的参数间的分隔符 %26
java中URL 的编码和解码函数
java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);