SpringMVC处理中文乱码

springMVC解决中文乱码 springMVC框架遇到中文乱码的解决思路汇总,包括从配置到注解的详细描述,帮助开发人员解决spirngMVC中文乱码问题 立即下载

方法一:引入自己定义的编码过滤器 处理数据编码问题

1.写一个处理编码问题的过滤器类
分为EncodingRequest和LoginFileter

//EncodingRequest下的内容:
package com.zhm.util;

import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

// 处理请求数据中的编码
public class EncodingRequest extends HttpServletRequestWrapper {
	HttpServletRequest request;
	public EncodingRequest(HttpServletRequest request) {
		super(request);
		this.request=request;//你处理哪个request 就把那个request 传递过来
	} 
	
	public String getParameter(String name) {
		//加工处理 request   分请求方式  get  post
		 String method = request.getMethod();
		 if("GET".equals(method)){
			 //get请求方式
			 String shuju = request.getParameter(name);
			 //shuju要处理的 请求中的值 
			 try {
				 if(shuju != null && !"".equals(shuju)){
					String newStr =new String(shuju.getBytes("iso-8859-1"),"utf-8");
					return newStr;
				 }
			 } catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		 }
		 if("POST".equals(method)){
			 //post请求
			 try {
				request.setCharacterEncoding("utf-8");
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		 }
		return super.getParameter(name);
	}
	// 处理数据 
	 public String[] getParameterValues(String name){
			String[] values=super.getParameterValues(name);
			if(values!=null){
				for (int i = 0; i < values.length; i++) {
					try {
						values[i]=new String(values[i].getBytes("ISO-8859-1"),"utf-8");
					} catch (UnsupportedEncodingException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
			return values;
		}
}


//LoginFileter下的内容:
package com.zhm.util;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.filter.OncePerRequestFilter;

// 过滤器  登录权限的验证   中文的编码处理   请求的
public class LoginFileter extends OncePerRequestFilter{
	// 过滤方法
	protected void doFilterInternal(HttpServletRequest request,
			HttpServletResponse response, FilterChain chain)
			throws ServletException, IOException {
		// 把所有的请求都走一遍  编码处理类  EncodingRequest
		EncodingRequest req= new EncodingRequest(request);
		//req 处理了编码之后的 请求 
		chain.doFilter(req, response);// 放行
	}
}

2.写完这个上述的两个类后,然后在wen.xml文件中进行配置
上述例子中的类放在了 com.zhm.util包下,可以根据自己需求进行修改

<!--  引入自己定义的编码过滤器 处理数据编码问题 -->
<filter>
  	<filter-name>charset</filter-name>
  	<filter-class>com.zrgk.util.LoginFileter</filter-class>
</filter>
  <filter-mapping>
	<filter-name>charset</filter-name>
	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

方法二 编码过滤器 springMVC 自带的 只支持 post 请求 get 请求不支持 可以通过修改 tomcat 配置

在web.xml文件中进行配置

<filter>
	<filter-name>charset</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>charset</filter-name>
	<url-pattern>/*</url-pattern>
  </filter-mapping>

然后在applicationContext中进行配置:

 <!-- 启动springMVC的注解方式 -->
	    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	           <property name="messageConverters">
	            <list>
	                <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
	                    <property name="supportedMediaTypes">
	                        <list>
	                            <value>text/html; charset=UTF-8</value>
	                            <value>application/json;charset=UTF-8</value>
	                        </list>
	                    </property>
	                </bean>
	            </list>
	        </property>
	    </bean>
				
彻底解决Spring MVC中文乱码问题的方案 主要介绍了彻底解决Spring MVC中文乱码问题的方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 立即下载

相关推荐

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

【Java完整版 面试必备】Leetcode Top100题目和答案-滑动窗口篇

weixin_43298211的博客 2246

SpringMVC中如何处理中文乱码的情况

【代码】SpringMVC中如何处理中文乱码的情况。

JEREMY的博客 581

SNAP实战:Sentinel-1 GRD数据从预处理到后向散射系数生成全流程解析

本文详细解析了Sentinel-1 GRD数据从预处理到后向散射系数生成的全流程,包括辐射定标、噪声处理、地形校正等关键步骤。通过SNAP软件实战操作,帮助用户掌握SAR影像处理技巧,提升数据质量与分析效率,适用于地表变化监测、灾害评估等应用场景。

weixin_29239661的博客 536

SpringMVC中的乱码问题

乱码问题是我们在开发时经常遇到的问题,我们遇见乱码可能会异常的头疼,因为那么多页面,到底是哪一个没有进行编码呢,今天记录并学习一下SpringMVC中的乱码问题。一般的编码问题,我们使用Spring的过滤器就能很好的解决了,本文只是自己学习一下在SpringMVC中出现乱码问题的排查步骤以及方法,以便日后出现问题时回看.如果以上配置都无法解决乱码问题,那只能使用我们的终极大招------大神的处理办法。我们可以使用Spring为我们提供的编码过滤器,在web.xml文件中配置。

fj123321666的博客 1432

ICM42670-P嵌入式开发实战:从寄存器配置到姿态解算全解析

本文全面解析ICM42670-P高性能6轴MEMS运动传感器的嵌入式开发实战,涵盖寄存器配置、数据采集滤波、低功耗优化及姿态解算算法。通过详细代码示例和应用案例,帮助开发者快速掌握从硬件对接到姿态跟踪系统的完整开发流程,适用于可穿戴设备和智能家居等低功耗应用场景。

gold的博客 1068

数据中心——Vxlan基本概念1

东西流量指的就是横向流量-------例如:服务器与服务器之间交换流量南北流量指的就是纵向流量-------例如:客户端和服务器之间的流量以下主要是讲解业务平面的网络架构(一般业务平面就需要用到专用的数据中心交换机)

m0_49864110的博客 1万+

springBoot,springSecurity返回乱码

乱码了,但是我们将utf-8改成gbk就没有这个问题了。我们设置了响应内容的字符编码为utf-8,看看结果。框架:SpringBoot3。

c_yanxin_ru的博客 774

ASME B31.3-2024工艺管道标准介绍

ASME B31.3-2024《过程管道》是ASME发布的最新版工业管道标准,适用于石油、化工、制药等行业的管道系统设计、建造和维护。该版标准进行了多项重要更新,包括软管管理、应力指数调整、新增管件类型、焊接检查和泄漏测试等条款修订,并新增了书面报告要求。标准共594页,为全球过程工业提供管道安全规范,对保障管道系统完整性、可靠性具有重要意义,被多国强制采用或推荐使用。

TXNMG的博客 4708

Spring MVC 中解决中文乱码问题

在 Spring MVC 中解决中文乱码问题,需要从和两方面入手。

yuren_xia的博客 1401

【OpenClaw企业级智能体实战】第11篇:制造业设备预测性维护实战——OpenClaw+DeepSeek+Prometheus从零搭建(附完整代码)

本文聚焦制造业设备预测性维护的核心痛点,基于OpenClaw v2026.2.1、DeepSeek智能诊断、Prometheus监控等工具,拆解“设备状态监控→智能故障诊断→预测性维护”三大核心场景。从技术原理、算法构建、实操流程到完整代码实现,提供“数据采集→模型训练→智能调度→自动处置”的全链路方案。方案遵循工业安全规范,采用“只读优先、权限最小化”原则,适配中小制造企业落地需求。通过虚拟案例验证,可使设备非计划停机时间下降65%、平均修复时间缩短47%,既适合新手快速入门,也为进阶读者提供架构优化思路

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 606

通信原理 | 随机数仿真 | 均匀、正态、双高斯、瑞利、莱斯、对数正态、nakagami、Suzuki分布的随机数仿真(matlab)

信道建模在通信系统设计和分析中扮演着至关重要的角色。它指的是使用数学和物理模型来描述和模拟无线或有线通信路径中的信号传播特性。

若北辰 1988

Charset编码问题导致的中文乱码

环境:POST方法、Content-Type: application/x-www-form-urlencoded;charset=utf-8(key=val&key2=val2形式) 调用接口:commons-httpclient-3.1 服务接口:springboot-1.4.2.release/spring-web-4.3.4.release 场景:通常在对接第三方...

持之以恒 2925

Oracle DG库手动注册归档日志的两种方法

有的时候由于网络或各种原因,Oracle DG库服务器上可能缺少部分归档日志文件,导致DG库的MRP进程一直处于状态。此时我们可以手动从主库或其他DG拷贝归档日志到当前DG服务器,并对日志文件进行手动注册。

Sebastien23的博客 729

SpringMVC post方式中文乱码问题处理

文章目录SpringMVC post方式中文乱码问题处理 SpringMVC post方式中文乱码问题处理 SpringMVC会拦截所有请求,并完成cotrol方法形参的填充。我们需要在这之前完成对请求参数的值进行编码,在web.xml中设置一个字符串编码处理拦截器,设置字符串编码并开启字符串编码设置。 <!-- 配置SpringMVC设置编码方式的过滤器 --> <fil...

qq_32640013的博客 1623

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SpringMVC系列十: 中文乱码处理与JSON处理

SpringMVC系列十: 中文乱码处理与JSON处理

你好, 我在学java的博客 1255

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SpringMVC02_数据绑定&中文乱码处理

SpringMVC02_数据绑定 示例1: 通过 @RequestParam 注解将请求参数中的属性绑定至方法的形参(由HandlerAdapter来完成) @RequestMapping(value = "/index",method = RequestMethod.GET,params = {"name","id=10"}) public String index(@RequestParam("name") String str,@RequestParam("id") int age){ Sys

BLU_111的博客 3万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

springmvc返回参数和处理中文乱码

springmvc返回参数 创建一个maven项目,导入jar包,在web创建jsp包,包中创建jsp页面 <context:component-scan base-package="com.lanou"></context:component-scan> <!--内部视图资源解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&

qq_39095899的博客 760

ajax怎么在springmvc,在springmvc里发送ajax出现中文乱码应该如何处理

这次给大家带来在springmvc里发送ajax出现中文乱码应该如何处理,处理在springmvc里发送ajax出现中文乱码的注意事项有哪些,下面就是实战案例,一起来看一下。使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法。我使用的是sping-web-3.2.2,jar方法一:在...

weixin_34524593的博客 188

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

qq_36895457的博客 435

SpringMVC——中文乱码处理、静态资源处理、上传文件、拦截器、异常处理

中文乱码处理 SpringMVC处理中文乱码的解决方法和普通Servlet处理中文乱码的方法没有什么不同,我们都是推荐使用过滤器。 新建Filter-CharacterEncodingFilter 重写doFilter方法: public void doFilter(ServletRequest request, ServletResponse response, FilterChain ch...

晃在云淡风轻 468

笔记32 SpringMVC中使用静态资源、处理中文乱码

笔记32 SpringMVC中使用静态资源、处理中文乱码 一、静态资源的使用 在WebConfig.java中有如下代码段 1 @Override // 配置静态资源处理 2 public void configureDefaultServletHandling(DefaultServletHandlerConfigurer conf...

qq_33317402的博客 408

springmvc在web.xml中配置处理中文乱码

在web.xml中添加如下代码 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <i...

qq_41822751的博客 623

SpringMVC之处理响应中文内容乱码

SpringMVC的@ResponseBody返回中文乱码的原因是Controller层编程时使用的编码格式是UTF-8,@ResponseBody返回到jsp页面时SpringMVC默认告诉浏览器解码的编码格式为ISO-8859-1。 我们可以在配置文件中的mvc:annotation-driven中配置一个专门处理返回内容是文本信息的MessageConverter。此方法是全局的、针对整个项...

逐墨飞扬的博客 1275

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

当表单提交数据为中文时,会出现乱码,为了更好的应用我们需要解决这个问题。

m0_73557631的博客 1759

SpringMVC 对于 静态资源的加载 对中文乱码的处理

SpringMVC 对于 静态资源的加载 当 web.xml 里的路径写的是通配的 <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 就会将图片、视屏等信息拦截,不会发送到页面进行显示。 这种情况下要将图片、视屏,发送到

酆都城博客 203
上一篇: springMVC
下一篇: maven
lemon20120331
博客等级 码龄9年 277粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemon20120331

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值