post提交中文数据出现乱码问题

发布时间 2023-05-07 18:07:48作者: ナナチ
POST发送参数

发送请求与参数:

接收参数:

和GET一致,不用做任何修改

@Controller
public class UserController {

   @RequestMapping("/commonParam")
   @ResponseBody
   public String commonParam(String name,int age){
       System.out.println("普通参数传递 name ==> "+name);
       System.out.println("普通参数传递 age ==> "+age);
       return "{'module':'commonParam'}";
  }
}
POST请求中文乱码

发送请求与参数:

 

 

 

接收参数:

控制台打印,会发现有中文乱码问题。

 

解决方案:配置过滤器

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
   protected Class<?>[] getRootConfigClasses() {
       return new Class[0];
  }

   protected Class<?>[] getServletConfigClasses() {
       return new Class[]{SpringMvcConfig.class};
  }

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

   //乱码处理
   @Override
   protected Filter[] getServletFilters() {
       CharacterEncodingFilter filter = new CharacterEncodingFilter();
       filter.setEncoding("UTF-8");
       return new Filter[]{filter};
  }
}

CharacterEncodingFilter是在spring-web包中,所以用之前需要导入对应的jar包。

 

 成功解决

 

 

爆红,解决方法就是导入类