字符集设置的问题

本文探讨如何在Java Servlet中通过过滤器统一字符集,避免post请求乱码,并强调设置过滤器位置的重要性。还解释了contextType转换与字符集的关系,以及不同技术领域的应用如前端开发、后端开发等。

1.一般通过 过滤器就把字符集解析完成了,当然你也可以在 每个doGet和doPost方法里面做设置,就等于,request/response设置字符集后,给servlet的方法使用(这种方式都是解决的 post请求的字符编码,get请求的字符编码不能通过request和response设置,要么通过listener,要么通过修改 大web.xml 中的配置)

2.用过滤器的好处就是,在执行servlet的方法前,将字符解析好,servlet方法执行完成,又回过头来执行过滤器设置字符集

重点,如果用filter设置字符编码,那么必须是第一个filter,不然之前的filter在获取参数的时候就会乱码,

原则是在第一次获取参数之前,就得解决字符乱码问题

3.设置字符集和 contextType的区别
数据在 通过contextType转换为这个形式的 字符串流时,中文字符可能在解析回来的时候,解析不回来

简单来说 数据结构 -> 通过contextType转换器将数据结构 -> contextType类型的字符串 -> 字符集转换成 二进制 -> 同样的字符串将二进制转换回字符串 -> 看这个字符串 是不是 前端的 contextType类型的 过程就是这样的,所以至少字符集得一样,不然就不用 谈前后端的 contextType字符串类型是否是一样的了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值