解决Spring Security导致的前后台传值乱码问题

在做一个SSM项目时,前后台传值中文总是乱码,让人抓狂。我原以为是SpringMVC的问题,但是所有的办法都试过了还是不能解决问题,包括在web.xml中设置过滤器,修改页面编码,设置tomcat的编码,问题依旧。在困扰了几天后,突然意识到我在项目中加入了Spring Security来控制用户权限,这样就导致了在web.xml中设置的CharacterEncodingFilter不在第一位置(Spring Security在第一个),所以CharacterEncodingFilter失效。找到了问题所在,那么问题就好解决了,只要在Spring Security的配置中设置编码过滤器就好了。
下面为Java Config配置:

public class MmsSecurityWebInitializer extends AbstractSecurityWebApplicationInitializer
{
    /**
     * 配置编码
     */
    @Override
    protected void beforeSpringSecurityFilterChain(ServletContext servletContext)
    {
        FilterRegistration.Dynamic characterEncodingFilter = servletContext.addFilter("encodingFilter", new CharacterEncodingFilter());
        characterEncodingFilter.setInitParameter("encoding", "UTF-8");
        characterEncodingFilter.setInitParameter("forceEncoding", "true");
        characterEncodingFilter.addMappingForUrlPatterns(null, false, "/*");
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值