第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢【Java面试题】

简介: 第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢【Java面试题】

前言


2022 9/30 15:00

路漫漫其修远兮,吾将上下而求索


本文是根据尚硅谷学习所做笔记

仅供学习交流使用,转载注明出处


推荐

【尚硅谷经典Java面试题第一季(java面试精讲)-哔哩哔哩】

第一季:9SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢

题目

SpringMVC中如何解决POST请求中文乱码问题,GET的又如何处理呢

/*
★测试入参为POJO
Spring MVC会按请求参数名和POJO属性名进行自动匹配,
自动为该对象填充属性值。支持级联属性
*/

分析

SpringMVC中有一个过滤器CharacterEncodingFilter中有一个方法doFilterInternal

@Override
protected void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain filterChain)
throws ServletException, IOException{
  if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)){
  request.setcharacterEncoding(this.encoding);
  if (this.forceEncoding) {
    response.setCharacterEncoding(this.encoding);
  }
  filterChain.doFi1ter(request, response);
}

解决

在web.xml中

<!--解决POST请求的请求乱码问题-->
<filter>
  <filter-name>CharacterEncodingFilter </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>forcencoding</param-name>
    <param-value>true</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>*</url-pattern>
</filter-mapping>

post解决

get有中文乱码了

解决:

在Tomcat配置文件server.xml中

在第一个Connector添加字段 URIEncoding="UTF-8"

最后


2022 9/30 15:17


p9


Markdown 1486 字数 109 行数

HTML 1397 字数 57 段落

相关文章
|
4天前
|
SQL Java
java面试题笔试常见选择题大全含答案
java面试题笔试常见选择题大全含答案
|
1天前
|
SQL Java 机器人
Java中如何处理SQLException异常?
在Java数据库编程中,SQLException异常是一种常见的数据库操作异常,它可能在连接数据库、执行SQL语句或处理结果集时抛出。本文将深入探讨SQLException异常的原因、常见示例、以及几种有效的处理方法,帮助您更好地应对和预防这一异常。
|
16小时前
|
Java 机器人 程序员
Java中如何处理ArrayIndexOutOfBoundsException异常?
Java中如何处理ArrayIndexOutOfBoundsException异常?
|
4天前
|
SQL JavaScript Java
java程序员面试题大全含答案(2018--2019)
java程序员面试题大全含答案(2018--2019)
|
4天前
|
设计模式 开发框架 Java
java设计模式面试题大全含答案
java设计模式面试题大全含答案
|
4天前
|
设计模式 SQL JavaScript
java面试宝典全套含答案
java面试宝典全套含答案
|
4天前
|
存储 Java
java面试题大全带答案_面试题库_java面试宝典2018
java面试题大全带答案_面试题库_java面试宝典2018
|
4天前
|
缓存 安全 Java
Java线程面试题含答案
Java线程面试题含答案
|
4天前
|
存储 设计模式 Java
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
|
16小时前
|
Java 机器人 程序员
Java中如何处理日期和时间?
Java中如何处理日期和时间?