观察UserController类中的/parameter
@RequestMapping("/parameter")
@ResponseBody
public String commonParameter(String name, int age){
System.out.println("name ==> "+ name);
System.out.println("age ==> "+ age);
return "{'module ':'common parameter'}";
}
这里有两个参数,name和age。我们用Postman工具发送参数
或
然而,我们在后台接收到的name却是乱码
不能处理中文乱码。使用过滤器解决。
这里,Ctrl+O快捷键重写方法,选择第一个带filter的,并编写成如下代码块。
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
return new Filter[]{filter};
}
对了,对于前面的Config配置方法,这里有个更简洁的方案。
ServletContainerInitConfig:
package com.kiong.config;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
import javax.servlet.Filter;
public class ServletContainerInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[0];
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
return new Filter[]{filter};
}
}