springmvc——CharacterEncodingFilter过滤器要放在所有过滤器前面

CharacterEncodingFilter的拦截顺序必须是第一个,否则还是会出现乱码问题。这是因为

  1. request对象的parameter并不是一开始就解析的,它是等你第一次调用getParameter*等凡和获得请求参数有关的方法的时候才解析的

  2. paramter一旦被解析过一次,那就不会再次被解析

所以如果在CharacterEncodingFilter之前有另外一个filter,而这个filter调用了getParameter*方法,那么就有可能使用错误的encoding来解析,从而造成乱码问题。

posted @ 2020-08-25 21:29  白熊啊  阅读(348)  评论(0编辑  收藏  举报