响应编码和请求编码及URL编码
一.响应编码和请求编码
1.响应编码:服务器发给客户端文本内容(html,css等文本)之前进行对响应体的编码
一般在发送响应体代码之前,调用response.setContentType("text/html;charset=utf-8")的方法即可设置UTF-8编码并且告诉浏览器自己用的是UTF-8编码这两个作用
注意:response.setContentType("text/html;charset=utf-8")是服务器发给客户端的情况下,设置编码为UTF-8,而不是客户端发给服务器时,将客户端发送的内容用UTF-8解码;
2.请求编码:客户端发给服务器请求之前进行对地址栏参数或表单内容等的编码
现在谷歌浏览器已经默认是UTF-8,而tomcat8及后的版本都是默认UTF-8来对GET请求参数解码了,但是POST请求参数仍然还是ISO解码;tomcat7及之前不管是GET还是POST都是ISO来解码;
POST请求参数获取前:request.setCharacterEncoding("utf-8");
而GET请求已经不需要了,默认是UTF-8了;
一般浏览器发送请求一般2种情况:
(1)在地址栏带参数发送请求,现在谷歌浏览器对参数的编码是UTF-8
(2)在页面点击链接或者提交表单自己填写的内容,但是这个看服务器发给浏览器的页面是什么编码的,如果是UTF-8编码,则页面所有的链接或表单发送的所有请求编码就是UTF-8;
二.URL编码
1.URL编码不是字符编码,它的目的是把中文等易于在传输过程中丢失字节的这种运输方式转换为网络运输中适合的方式,防止运输过程中数据的丢失。
浏览器发送get的请求没有URL编码,表单POST请求是由URL编码的。一般服务器会自动URL识别并解码。
URL编码和URL解码的方法如下:
URLEncoder.encode("name","utf-8"); URL编码
URLDecoder.decode("name","utf-8"); URL解码
虽然浏览器get的请求没有URL编码,但是我们可以通过以上方法的设置,不过html不能写java代码,得到JSP里面写。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)