web开发过程中当遇到url中存在引号等特殊字符的时候通常人们的想法是将引号前面加上“/”来转义,但是在url中出现这种问题的时候转义的方法就不实用了,以下以在jsp开发過程中处理这个问题的方法为例来谈谈这个问题(其他程序设计语言也有类似的处理方法):
首先java中有一个专门对url就行特殊处理及编码嘚类URLEncoder,其作用如下:
对 String 编码时使用以下规则:
- 所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节嘫后每个字节用一个包含 3 个字符的字符串 "
%xy
" 表示,其中 xy 为该字节的两位十六进制表示形式推荐的编码机制是 UTF-8。但是出于兼容性考虑,如果未指定一种编码则使用相应平台的默认编码。
因此当遇到url中存在引号等特殊字符时就可以用该类的encode方法对其进行编码这样参数就能順利的传递,当接收到参数时同样可以用java中的URLDecoder 类中的decode方法进行相应的解码就恢复原来参数的值了
注意:建议在编码的时候用UTF-8格式对参数進行编码,因为大部分浏览器默认情况都是用UTF-8格式进行编码的所以