App 2.0开发模式的行业看法
791
2025-07-02
SSM框架转发处理跨域问题,流读取的时候部分中文乱码的解决(中英文交界处乱码)
今天又碰到一个奇葩的问题,曲折的过程就不说了。
内容:
朋友做一个别人的后台对接项目,但是后台是用aspx写的,为了安全性的目的,不给跨域权限。
因此朋友在本地用ssm 框架搭建一个转发的中转请求。 莫名其妙出现一个乱码的问题。 不是一般的乱码,是部分乱码,出现在中英文交界处乱码。
另外一个奇葩的问题就是,在本地用 main方法直接测试的时候,一切OK。 原样代码拷贝一份进ssm框架中执行起来,总是要乱码,就是中英文结合处会出现一个乱码。
中途的读取过程用到了Buffer,我不是没有怀疑过。 可是上面的问题又说明了它没有问题。。。。 为什么这个Buffer会在这样的一个场景出了奇怪的错误呢???
真相只有一个: SSM容器中(或者说他的容器配置中,因为时间原因没有细看),替换了jdk中默认的Buffer的默认编码类。
另外,说明一个问题,用字符读取流,可能会导致失真!!!! 切记切记。
此外,记录一下一个比较底层但有用的关于流的方法, 就是java流中的 Inputstream.avalible()方法,它可以得到这个流在缓存中的长度。 因为我们平时多字节读取的时候,最后会拼接在一起。 多了又浪费空间,因此这个方法还是很有用的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。