springMVC--中文乱码处理(新思路--化繁为简)

news/2024/11/16 20:41:34/

文章目录

  • springMVC--中文乱码处理(新思路--化繁为简)
    • 编码过滤器
    • 自定义中文乱码过滤器
      • 举例
      • 应用实例
        • 1. 创建过滤器springmvc\src\com\web\filter\MyCharacterFilter.java
          • 实现思路
        • 2. 配置web.xml
        • 完成测试
    • Spring MVC--过滤器处理中文
      • 修改web.xml
      • 完成测试

springMVC–中文乱码处理(新思路–化繁为简)

编码过滤器

前端页面在提交中,可能会出现中文。为了防止前端传入的中文数据出现乱码问题,我们需要使用Spring提供的编码过滤器来统一编码。
要使用编码过滤器,需要在web.xml中进行过滤器配置。
我们也可以选择自己进行配置过滤器。

自定义中文乱码过滤器

当表单提交数据为中文时,会出现乱码,为了更好的应用我们需要解决这个问题。
springMVC中有自己的编码过滤器,但是我们也可以选择自己进行配置。
在配置时,可以添加一些自己的业务代码。

举例


应用实例

1. 创建过滤器springmvc\src\com\web\filter\MyCharacterFilter.java

自定义过滤器不要忘记实现Filter 接口了,实现了Filter 接口才算是真正的过滤器。没有实现Filter 接口就不是过滤器。处理完中文编码后,要记得放行请求,和前面的过滤器一样。

实现思路
  1. 加入对编码的处理
  2. 放行请求,这个规则和前面讲过的java web的过滤器一样
public class MyCharacterFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {//这里加入对编码的处理servletRequest.setCharacterEncoding("utf-8");//放行请求,这个规则和前面讲过的java web的过滤器一样filterChain.doFilter(servletRequest, servletResponse);}@Overridepublic void destroy() {}
}

2. 配置web.xml

过滤器是按照配置顺序执行的, 我们将该过滤器配置在最前面

<filter><filter-name>myCharacterFilter</filter-name><filter-class>com.web.filter.MyCharacterFilter</filter-class>
</filter>
<filter-mapping><filter-name>myCharacterFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

完成测试

浏览器输入http://localhost:8080/springmvc/addMonsterUI。


除了页面测试的方法,我们也可以所有Postman进行测试。
感兴趣的可以看看主页的Postman如何使用的博客,谢谢。

Spring MVC–过滤器处理中文

springMVC自己提供的处理中文的过滤器,我们只需要修改xml配置文件,换成中文乱码过滤器的配置就可以使用了。

修改web.xml

CharacterEncodingFilter 配置Spring提供的过滤器,解决中文乱码问题

 <!--配置Spring提供的过滤器,解决中文乱码问题--><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></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

完成测试

浏览器http://localhost:8080/springmvc/addMonsterUI


http://www.ppmy.cn/news/977689.html

相关文章

利用I/O操作复制文件和目录以及删除文件和目录

一&#xff0c;复制文件和目录 示例代码&#xff1a; public static void main(String[] args) {//需要复制的文件地址File fi new File("C:\\Users\\21309\\Pictures\\Screenshots");//需要复制到的路径地址File du new File("C:\\Users\\21309\\Pictures\…

ubuntu 20.04 rtc时间显示问题探究

1、硬件与软件 本次测试的硬件为RK3568芯片&#xff0c;操作系统为ubuntu 20.04。 2、RTC与系统时间 先说结果&#xff0c;如果RTC驱动不可用或者RTC内部存储的时间非法&#xff0c; 那么操作系统会存储上一次有效的时间&#xff0c;当再次上电时&#xff0c;date命令会使用存储…

通过API进行snmp配置

SNMP 是专门用于在 IP 网络管理网络节点&#xff08;服务器、工作站、路由器、交换机及HUBS等&#xff09;的一种标准协议&#xff0c;它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能&#xff0c;发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息&#x…

会员系统怎么搭建,适合门店的会员系统有哪些?

会员系统是一种为企业和门店提供会员管理和服务的工具。会员系统可以通过提供专属优惠、积分奖励、个性化推荐等方式&#xff0c;激励顾客成为会员并保持长期关系。 我们在自己搭建或选择会员系统时&#xff0c;需要考虑门店的特定需求以及系统的功能、可靠性、易用性和成本等因…

机器人导航(3):导航相关消息

文章目录 地图nav_msgs/MapMetaDatanav_msgs/OccupancyGrid 里程计坐标变换定位目标点与路径规划激光雷达相机深度图像转激光数据depthimage_to_laserscan简介depthimage_to_laserscan节点说明depthimage_to_laserscan使用 地图 地图相关的消息主要有两个: nav_msgs/MapMetaD…

MySQL基础(二)SQL语句

目录 前言 一、SQL语句类型 二、数据库操作 查看 创建 进入 删除 更改 三、数据表操作 &#xff08;一&#xff09;、数据类型 1.数值类型 2.时间\日期类型 3.字符串类型 4.二进制类型 &#xff08;二&#xff09;、查看 1.查看表内的数据 2.查看表格的属性 &…

java 相关问题集锦, 持续更新

一.当HashMap中存在大量哈希冲突时&#xff0c;可以采取以下几种方法来处理&#xff1a; 调整HashMap的初始容量和负载因子&#xff1a;HashMap的初始容量和负载因子是影响哈希冲突的重要因素。初始容量是指HashMap在创建时的容量大小&#xff0c;负载因子是指HashMap在达到容量…

软件工程学术顶会——ICSE 2023 议题(网络安全方向)清单与摘要

按语&#xff1a;IEEE/ACM ICSE全称International Conference on Software Engineering&#xff0c;是软件工程领域公认的旗舰学术会议&#xff0c;中国计算机学会推荐的A类国际学术会议&#xff0c;Core Conference Ranking A*类会议&#xff0c;H5指数74&#xff0c;Impact s…