URL出现特殊字符影响正常传参的处理

编写代码的时候,有个链接是:

xxx.jsp?u=yyy.jsp?param1=x1&param2=x2

会导致应该传给yyy页面的param2参数被URL地址当成是xxx的参数。

上网查看可知:特殊字符如&%空格=?等需要用转义字符处理才能实现正确的传参。

以下为网上资料:

1. + URL 中+号表示空格 %2B

2. 空格 URL中的空格可以用+号或者编码 %20

3. / 分隔目录和子目录 %2F

4. ? 分隔实际的 URL 和参数 %3F

5. % 指定特殊字符 %25

6. # 表示书签 %23

7. & URL中指定的参数间的分隔符%26

8. = URL中指定参数的值 %3D

9. ! URL中指定参数的值 %21

^ %5E

` %60

{ %7B

} %7D

| %7C

] %5D

[ %5B

" %22

< %3C

> %3E

\ %5

将&替换成%26,打开第一个页面的时候,自动将%26翻译成为&符号,这样对于后面的JSP页面就是完整的请求地址和多个参数。如果URL有多次传参的情况,可以根据%->%25的转义字符,%2526代表二次传参后在第二次才还原出&符号,依此类推。

你可能感兴趣的:(url,转义字符)