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

被折叠的 条评论
为什么被折叠?



