Tomacat乱码和报错UTF-8 序列的字节 2 无效和‘application/json;charset=UTF-8‘ not supported的处理
文章目录
前言
分享下最近学习SSM框架遇到的一些BUG吧,首先从Tomcat的乱码开始吧开始吧。
1. tomcat乱码的处理方法
刚开始安装时Tomcat的默认端口是8080端口,我们可以通过修改安装目录下的conf文件下的server.xml来更改端口,并且可以指定Url的编码,我这里手动更改成了8888端口。

在输出端乱码的解决
将这些输出的encoding全部改成UTF-8就可以啦,然后在使用时就不会出现这些问题啦。

2. applicationContext.xml报错2 字节的 UTF-8 序列的字节 2 无效
配置文件报错org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing
XML document from class path resource [applicationContext.xml]; nested exception is
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:
2 字节的 UTF-8 序列的字节 2 无效。
applicationContext.xml报错,我们只需要将xml的文件格式更改成UTF-8就好。

将这个UTF-8改成UTF8,然后如果还有其他文件也是这样的话,也得进行修改成UTF8,然后就可以正常启动啦。
3. 报错’application/json;charset=UTF-8’ not supported]
当时是写一个更新的功能,采用的是jqerry来进行数据的交互,代码如下
$.ajax({
url:"${pageContext.request.contextPath }/disableUser",
type:"post",
//data表示发送的数据
data:JSON.stringify({userId:userId,status:3}),
// 定义发送请求的数据格式为JSON字符串
contentType:"application/JSON; charset=UTF-8",
//定义回调响应的数据格式为JSON字符串,该属性可以省略
dataType:"json",
//成功响应的结果
success:function(data){
if(data!=null){
if(data.userId>0){
alert("禁用成功!");
window.location.reload();
}else{
alert("禁用失败!");
window.location.reload();
}
}
}
});
报错:[http-nio-8888-exec-2] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘application/json;charset=UTF-8’ not supported]
数据并没有访问到Controller层就已经报错,在网上翻了一下,最终找到大概是没添加jackson依赖的问题,我突然意识到似乎我们pom文件中确实是没有添加jacckson的依赖,下面是添加依赖的代码,注意版本之间的兼容性。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
我以为添加依赖就可以了,然后就一直试,没有想明白,最终看了一篇文章,才想起来,我的war是没有实时更新的,我添加依赖,但是在部署的时候,tomcat的war包是没有及时更新的,需要重新生成一个工件war,再部署就可以了。

总结
记录一下自己踩坑的记录,又白白花了一个小时,就很难受,这种小坑不能再踩第二次了,呜呜呜…
Tomacat乱码和报错UTF-8 序列的字节 2 无效和‘application/json;charset=UTF-8‘ not supported的处理的更多相关文章
- 【IDEA】启动项目报错:3 字节的 UTF-8 序列的字节 3 无效
一.报错和原因: 项目起服务出错.具体报错就不贴了,报错主要是"3 字节的 UTF-8 序列的字节 3 无效". 分析:主要就是项目编码问题,IDEA中估计就是配置不对,没必要纠结 ...
- ArcGIS Runtime SDK for WPF之SimpleRenderer无法添加、报错“图形符号无法序列化为 JSON”
ArcGIS Runtime SDK for WPF之SimpleRenderer无法添加.报错“图形符号无法序列化为 JSON” 在上一篇博文中如果在 esri:Map 里面是否设置了的UseAcc ...
- 【Java报错】Message: 3 字节的 UTF-8 序列的字节 2 无效
报错logs 2015-03-10 10:15:32,360 ERROR [qtp32195030-27] [InvokeAfterValve.java:55] - javax.xml.stream. ...
- XML文件存在中文注释报错问题( 3 字节的 UTF-8 序列的字节 3 无效)
今天在做mybatis项目的时候,给映射文件添加了中文注释后,程序就报错.把中文注释删除后,程序又可以正常执行.解决方法在下文提到. 我的xml映射文件如下: <?xml version=&qu ...
- 报错:3 字节的 UTF-8 序列的字节 3 无效。
错误如下: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with n ...
- LoadXml 加载XML时,报错:“根级别上的数据无效。 行1,位置1“
==XML=================================== <?xml version="1.0" encoding="utf-8" ...
- Webservice报错客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。
控制台对接Webservice正常,同样的方法在Web项目上报错: 客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”.请求失败,错误 ...
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 x 无效
在启动Tomcat项目时,控制台报错:nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSeque ...
- eclipse xml 编码问题 “3 字节的 UTF-8 序列的字节 3 无效”
原本项目没问题,git commit之后,突然报错 “3 字节的 UTF-8 序列的字节 3 无效” 尝试过改xml文件编码等,没成功.pom中设置属性,成功解决 <project.build. ...
- tomcat 1字节的UTF-8序列的字节1无效
微信支付时, 命名返回支付成功, 但是成功后却返回如下的错误, 在测试环境都是没有任何问题, 到客户现场后, 可能客户现场使用的4G网络, 用微信支付时一直报这样的错误 错误现象: com.sun.o ...
随机推荐
- density plot
FIN=read.table("/Users/zhongyuantian/macshare/workSpace2021/1.TFY/1.3.TFY20201215/1.3.1.TFY1C_T ...
- Hive使用Tez作为计算引擎,hive启动报错
1.问题描述: (1)问题示例: 1)hive使用配置文件hive-site.xml配置tez为计算引擎,hive登录报错: [Hadoop@master Tmp]$ hiveHive Session ...
- pytest之运行环境
简介 pytest是Python最流程化的单元测试框架,它具有允许直接使用assert进行断言,而不需要使用self.assert*:可以自动寻找单测文件.类和函数,还可支持执行部分用例:Modula ...
- Linux基础——操作系统
1. 操作系统(Operation System,OS) 操作系统作为接口的示意图 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序如果计算机上安装了操作系统,就可以在操作系统上安装支持的 ...
- git Permission denied, please try again.
博主在github上下载tiny face的的源代码的时候,遇到git clone命令为:git clone --recursive git@github.com:peiyunh/tiny.git 而 ...
- 第二章启动引导器GRUB2
第二章启动引导器GRUB2grub的配置文件路径:vim /boot/grub2/grub.cfg (不建议直接编辑)vim /etc/default/grub (可编辑的文件)将编辑的操作刷新到/b ...
- pip第三方库安装失败原因及解决办法
pip安装三方库失败原因及解决方法 提示:WARNING: You are using pip version 20.2.3, however version 20.2.4 is available. ...
- RPA的概念及未来发展趋势
RPA是Robotic Process Automation(机器人自动化)的简称.我们可以把它理解为"虚拟机器人"替代人工的一种方式.RPA不仅可以模拟人类,而且可以利用和融 ...
- 开源不易、安全慎行,中国软件如何走向文明?丨RTE 技术环境月报 202205
各位开发者小伙伴: 这里是 2022 年第 5 期的 RTE<技术环境月报>--致力于成为对大家"有用"的 Highlight 看板--每月初通过 RTC 开发者社区( ...
- JVM 频繁 FULL GC 快速排查整理
在分享此案例前,先聊聊哪些场景会导致频繁Full GC: 内存泄漏(代码有问题,对象引用没及时释放,导致对象不能及时回收)死循环大对象程序执行了System.gc() 尤其是大对象,80%以上的情况就 ...