像字符";","/", "?", ":", "@", "=" 和 "&"等还有/do/item?dispatch=edit&key=17什么意思?

解决方案 »

  1.   

    自己看URI规范。http://www.faqs.org/rfcs/rfc2396.html
      

  2.   

    特殊含义                            十六进制值 
    + 表示空格(在 URL 中不能使用空格)    %20 
    / 分隔目录和子目录                     %2F 
    ? 分隔实际的 URL 和参数                %3F 
    % 指定特殊字符                         %25 
    # 表示书签                             %23 
    & URL 中指定的参数间的分隔符           %26
      

  3.   

    URL中的特殊字符 
    有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。
    下表中列出了一些URL特殊符号及编码
                                        十六进制值 
    1. +    URL 中+号表示空格                %2B 
    2. 空格 URL中的空格可以用+号或者编码     %20 
    3. /    分隔目录和子目录                 %2F  
    4. ?    分隔实际的 URL 和参数            %3F  
    5. %    指定特殊字符                     %25  
    6. #    表示书签                         %23  
    7. &    URL 中指定的参数间的分隔符       %26  
    8. =    URL 中指定参数的值               %3D 例:要传递字符串“this%is#te=st&o k?+/”作为参数t传给te.asp,则URL可以是:
    te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F 或者
    te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F (空格可以用%20或+代替)java中URL 的编码和解码函数
    java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascript 中URL 的编码和解码函数
    escape(String s)和unescape(String s) ;