jsp之URL编码

URL编码(URL encoding)的作用是将字符转化为可在因特网上安全传输的格式。


在因特网上传送URL,只能采用ASCII字符集

但由于URL常常包含ASCII字符集以外的字符,所以我们必须对URL进行转换。URL编码要做的,就是将URL转换为有效的ASCII字符格式。

在进行URL编码时,每一个非安全的ASCII字符都被替换为“%hh”格式,其中hh为两位十六进制数,它对应于该字符在ISO-8859-1字符集里的编码值。

每个“%hh”占一个字节。

URL字符串里不能含有空格,在进行URL编码时,空格全部被替换为加号(+)。


form表单在提交action的时候(无论是get或post),在底层会自动进行URL编码。

为了确保无乱码,我们必须保证前后使用的编码字符集保持一致。在jsp中,URL编码的字符集由指令contentType属性决定。

我们假设contentType="GB2312",当action提交,进入servlet控制器时,request.setCharacterEncoding和response.setCharacterEncoding的默认编码"GB2312"。

如果在容器中或过滤器中有设置编码为"UTF-8",那么,在servlet控制器中,应该先request.setCharacterEncoding("UTF-8"),否则会产生乱码。


这里我在iteye写的一篇文章,有测试过程,大家可以参考:

         http://eyecom.iteye.com/blog/1502557
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值