Spring MVC前后端中文编码解码问题

简介:

简单介绍一下,前端通过jQuery的ajax.post()方法来发送请求,默认编码类型为utf-8,调用方法如下:

1

 








服务端使用Spring MVC进行处理,上面的脚本POST的参数中,有一部分是包含中文字符的,所以,需要Spring MVC配置一下默认的编码格式,需要在web.xml中配置如下的内容,来设定默认编码格式:

2

 













配置后,在相应的Controller中就可以直接获取传递的中文参数内容,而不需要进行任何的解码操作,如下:

3

 

 

 

 

 

 

 顺便说一句,这里面使用了Spring MVC自动参数实例化的功能,只要保证参数名与类的参数名一致,就可以自动完成参数的实例化操作,当然,这里还有一个问题,那就是如果待实例化的类,其中含有枚举类参数的话,那么要求前端脚本在赋值相对应的参数值的时候,需要使用其枚举值的字符串格式,如:枚举值MoneyTypeEnum.COST对应的参数值,应该就是”COST“,注意,这里是区分大小写的。

这样的配置,基本可以处理绝大多数的中文情况,当然,针对一些特殊字符的处理,还必须进行相应的编码解码操作,可以使用 encodeURIComponent或encodeURI来进行前端编码,然后在客户端通过如下方式来进行解码:

4

 

 

 

 注意一下对应的编码格式,即可。

 题外话,如何查看编码内容是否已经正确地解码,可以通过System.out.print()方法来输出到控制台来查看,当然,如果通过Evaluate Expression实时运行或debugger来观察的时候,可能会遇到中文无法正常显示,显示为方块乱码的情况,这是由于IDEA编辑器自己的字体选择造成的,因为默认的编辑器字体是不包含中文的,所以无法正常显示中文,修改一下即可,步骤如下:

file -> settings -> IDE Settings -> Apprearance -> UI Options -> Override default fonts by(not recommended)

选择微软雅黑,长相应该就是三个方块,选中后,点击下面的Apply按钮,就可以正常显示啦。

5

 

相关文章
|
2月前
|
JSON 前端开发 Java
spring mvc Rest风格
spring mvc Rest风格
26 0
|
4天前
|
XML JSON 数据库
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
这篇文章详细介绍了RESTful的概念、实现方式,以及如何在SpringMVC中使用HiddenHttpMethodFilter来处理PUT和DELETE请求,并通过具体代码案例分析了RESTful的使用。
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
|
1天前
|
前端开发 应用服务中间件 数据库
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
这篇文章通过一个具体的项目案例,详细讲解了如何使用SpringMVC、Thymeleaf、Bootstrap以及RESTful风格接口来实现员工信息的增删改查功能。文章提供了项目结构、配置文件、控制器、数据访问对象、实体类和前端页面的完整源码,并展示了实现效果的截图。项目的目的是锻炼使用RESTful风格的接口开发,虽然数据是假数据并未连接数据库,但提供了一个很好的实践机会。文章最后强调了这一章节主要是为了练习RESTful,其他方面暂不考虑。
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
|
17天前
|
JSON 前端开发 Java
Spring MVC返回JSON数据
综上所述,Spring MVC提供了灵活、强大的方式来支持返回JSON数据,从直接使用 `@ResponseBody`及 `@RestController`注解,到通过配置消息转换器和异常处理器,开发人员可以根据具体需求选择合适的实现方式。
41 4
|
17天前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
43 3
|
18天前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
41 2
|
1月前
|
前端开发 Java 应用服务中间件
我以为我对Spring MVC很了解,直到我遇到了...
所有人都知道Spring MVC是是开发的,却鲜有人知道Spring MVC的理论基础来自于1978 年提出MVC模式的一个老头子,他就是Trygve Mikkjel Heyerdahl Reenskaug,挪威计算机科学家,名誉教授。Trygve Reenskaug的MVC架构思想早期用于图形用户界面(GUI) 的软件设计,他对MVC是这样解释的。MVC 被认为是解决用户控制大型复杂数据集问题的通用解决方案。最困难的部分是为不同的架构组件想出好的名字。模型-视图-编辑器是第一个。
我以为我对Spring MVC很了解,直到我遇到了...
|
22天前
|
前端开发 Java API
Spring Boot 中的 MVC 支持
### Spring Boot 注解摘要 - **@RestController** - **@RequestMapping** - **@PathVariable** - **@RequestParam** - **@RequestBody**
21 2
|
7天前
|
前端开发 Java Spring
Java 新手入门:Spring Boot 轻松整合 Spring 和 Spring MVC!
Java 新手入门:Spring Boot 轻松整合 Spring 和 Spring MVC!
18 0
|
22天前
|
JSON 前端开发 Java
Spring Boot中的MVC支持
本节课主要讲解了 Spring Boot 中对 MVC 的支持,分析了 @RestController、 @RequestMapping、@PathVariable、 @RequestParam 和 @RequestBody 四个注解的使用方式,由于 @RestController 中集成了 @ResponseBody 所以对返回 json 的注解不再赘述。以上四个注解是使用频率很高的注解,在所有的实际项目中基本都会遇到,要熟练掌握。