您的位置:首页 > 编程语言 > Java开发

SpringMVC form表单中文乱码解决方案(基于JavaConfig)

2017-03-25 18:58 316 查看
SpringMVC表单提交数据后,数据库中的数据中文乱码,通过
show variables like "%char%";
查看数据库编码,发现的确是UTF-8,说明数据库没有问题,问题出在服务器上。

通过搜集资料得到了简便的解决方法,在WebInitializer中,重写AbstractAnnotationConfigDispatcherServletInitializer的onStartup方法:

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
servletContext.addFilter("name", new CharacterEncodingFilter("UTF-8", true))
.addMappingForUrlPatterns(null, false, "/*");
}


整个初始化类如下所示:

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebConfig.class};
}

@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}

@Override
protected String[] getServletMappings() {
return new String[] {"/"};
}

@Override public void onStartup(ServletContext servletContext) throws ServletException { super.onStartup(servletContext); servletContext.addFilter("name", new CharacterEncodingFilter("UTF-8", true)) .addMappingForUrlPatterns(null, false, "/*"); }
}


该方法通过测试,成功决绝中文乱码问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: