使用Filter接口编写过滤器解决post乱码

news/2024/10/6 2:48:42/文章来源:https://www.cnblogs.com/DuWenjie/p/18281355

在使用tomcat9以及之前的版本,request-character-encoding和response-character-encoding使用的字符编码默认不是utf-8,所以导致前端发送到后台的中文乱码.如果使用的是tomcat10以及之后的版本,在apache-tomcat-10.1.25\conf\web.xml已设置好默认的字符集编码为utf-8,如果所示:

所以使用tomcat9以及之前的版本,可以手动编写过滤器来处理中文乱码:

  • 首先编写实现Filter接口的实现类
package com.powernode.springmvc.filter;import jakarta.servlet.*;import java.io.IOException;public class CharacterEncodingFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {//设置请求体的字符集request.setCharacterEncoding("utf-8");//设置响应体的字符集response.setCharacterEncoding("utf-8");//执行下一步chain.doFilter(request,response);}
}
  • 然后在web.xml中,定义过滤器的名称等
<!--配置字符编码过滤器--><filter><!-- 定义过滤器的名称,这个名字是唯一的,并且在整个web.xml文件中被引用 --><filter-name>characterEncodingFilter</filter-name><!-- 定义过滤器的全类名,即这个过滤器实现类的完整路径 --><filter-class>com.powernode.springmvc.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

这样提交post中含有中文就不会乱码了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736761.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用EF 连接 数据库 SQLserver、MySql 实现 CodeFirst

1.新建项目,下载Nuget安装包 创建项目需要注意几点,如果是基于 .net framework 的项目 需要选择 相应版本的 EF, 如果是跨平台则选择EF Core版本。 我这里选择的是 .net framework 版本。红框里面是 实现EF Code First 需要的包。对应的版本: EntityFramework 6.3.0 MySql.D…

AGNN论文阅读笔记

Attention-Based Graph Neural Network for News Recommendation论文阅读笔记 Abstract 存在的问题: ​ 用户的历史点击序列信息对用户兴趣的影响也不尽相同,简单地将它们结合起来并不能反映这种差异。 提出方法: ​ 我们提出了一种基于注意力的图神经网络新闻推荐模型。在我…

工程安全监测仪器:振弦采集仪的应用与发展

工程安全监测仪器:振弦采集仪的应用与发展 河北稳控科技振弦采集仪是一种常见的工程安全监测仪器,广泛应用于建筑、桥梁、隧道、地铁等工程项目中。它通过监测振弦的振动变化,可以及时发现结构变形或损坏情况,为工程的安全运行提供重要数据支持。在工程安全监测领域,振弦采…

农业数据智能化:免费可视化工具助力精准农业

免费的可视化工具的应用,不仅极大地提升了农作物监测的效率和准确性,更为智慧农业的发展注入了强劲动力。从传统的“靠天吃饭”到如今的“智慧农业”,数据成为了驱动这一转变的关键力量。随着物联网、大数据、云计算等技术的深入应用,农业生产过程中的各类数据如雨后春笋般…

深度学习--模型优化--模型的剪枝--92

目录1. 模型压缩2. 神经网络剪枝4. 非结构化剪枝4. Pruning neurons结构化剪枝 1. 模型压缩 目的:使得模型体积更小,模型推理速度更快评估指标: Compression Ratio 压缩率 = 总参数量 / 非0参数量 原始网络参数量 / 优化后的网络模型中非0参数量 脱水前的重量 / 脱水后的重量…

thinkphp6 使用FFMpeg获取视频信息

1.本地安装 FFMpeg,官网下载地址:https://ffmpeg.org/download.html#build-windows 解压后,把文件夹放到自定义目录,添加系统变量 2.安装依赖,composer.json 添加"php-ffmpeg/php-ffmpeg": "^0.19.0",3.封装class类<?php namespace app\api\cont…

JDK导入Lets Encrypt根证书

项目在调用https接口时报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 原因可能是更新换新证书后,HTTPS 域名的公钥证书不在 JDK/JRE 的证书库中,被Java认为是…

element plus 日历组件默认中文样式,配置日期周一为周起始日

element ui 或者 plus 其实都是西方的展示方式,日立组件的周日视为每一周的开始日期,我们则是周日为每周的最后一天。那咱们要改成周一为每周的开始日期,如下图:elementui 是可以直接属性配置的,element plus不得行,但是配置下面代码到main.ts就可以了~ import ElementPl…

Codeforces Global Round 26 A~C2

惹啊啊啊啊,这场做得我发昏,最近总感觉不在状态,但还是再在冲击1600-1800的题目. A. Strange Splitting---------------------------------题解--------------------------------------------------- 给你一个数组,让你自己构造一个RB字符串让R位置的数组中的数字的最大值-…