还是写老师布置的实验的时候,解决了xml文件找不到的问题之后又遇到新的问题:前端登录处输入用户名和密码,结果明明输入的用户名是对的密码也是对的(输入的用户名是中文),它就是显示用户名或密码错误。然后我就去试着在数据库里加个姓名的拼音,然后再重新启动系统再登录,结果它能成功登录--_--
然后就想着是不是编码的问题,或者数据库问题,就把controller里收到的姓名和密码在控制台输出,结果发现输出的姓名是问号?又把拼音版的也输出就没问题。这不指定编码问题么?然后就找网上教程,又是一堆配置的还一堆对我的代码没有效果的,比如在UserController里面,login前面的@RequestMapping那里改,把这个
@RequestMapping("/login")
改成下面这个
@RequestMapping(value="/login", method = RequestMethod.POST, produces ="text/plain; charset=UTF-8")
不过对我的代码没有效果。
试了两个小时。而且本身所有文件的代码的都是utf-8格式的了,怎么还不对呢?又是一番搜索终于被我找到了成功的解决办法!!!
<!-- Spring字符集编码过滤器 -->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这个是看的@登山猿的文章,原文链接springMVC:Controller接受前端数据中文出现问号?问题解决-CSDN博客
不过我没有加这个也成功了。
解决办法就是上面的大段代码。
如果这篇文章对你有帮助,也欢迎点赞收藏^_^
加油加油!