出现问题
比如出现以下情况
先建立一个表单
具体的配置,参考前面的内容
利用注解创建MVC项目
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/t/test" method="post">
<input type="text" name="name">
<input type="submit">
</form>
</body>
</html>
创建一个类
package com.www.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class TestEncoding {
@PostMapping("/t/test")
public String test(String name, Model model){
model.addAttribute("msg",name);
return "test";
}
}
测试发现
解决方案
以前乱码问题通过过滤器解决 , 而SpringMVC给我们提供了一个过滤器 , 可以在web.xml中配置
<filter>
<filter-name>encoding</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>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置好后一定要重启Tomcat
结果:
一般情况下,SpringMVC默认的乱码处理就已经能够很好的解决了!乱码问题,需要平时多注意,在尽可能能设置编码的地方,都设置为统一编码 UTF-8!