url中的编码

客户端发送请求到服务器的过程:

浏览器会把url按照自身的设置进行编码(在浏览器高级选项中 用utf-8 发送url  ,否则用gbk发送)

如:http://localhost:8080/work/释放.jsp?

会被encode(utf8)为:http://localhost:8080/work//%E9%87%8A%E6%94%BE.jsp?

如果是get方式 参数会按照gbk的方式encode ,如username='释放'&password='释放'

会被encode 为username=%CA%CD%B7%C5&password=%CA%CD%B7%C5

 

 

服务器端

get方式在服务端requset.setCharacterEncoding是不起作用的,可以再tomcat的server.xml中 URIEncoding="gbk"配置.

post方式可以设置equset.setCharacterEncoding   ,编码要统一,发送到客户端的编码要统一.

request.getRequestURI()得到的是utf8编码后的uri,request.getRequestURL()同样也是

jsp页面的头部contentType="text/html; charset=gbk" 编码要统一.该编码是告诉浏览器将要以什么编码方式来解析从服务端发送的内容

jsp页面自身的编码要与pageEncoding的编码一致.否则jsp页面被编译为servlet后 java文件中的汉字是乱码.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值