response.setCharacterEncoding(charset) 报错

本文解决了使用eclipsetomcat服务启动项目时,遇到response.setCharacterEncoding方法报错的问题。原因是项目的servlet-api.jar依赖版本过低导致。通过将依赖版本从2.3升级到2.5,并更新maven项目依赖解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eclipse tomcat服务启动运行项目,代码 response.setCharacterEncoding(charset)标红

我自己百度了很多,有一个说法是最靠谱的:

HttpServletResponse存在于servlet-api.jar中,

2.3版本的servlet-api.jar中HttpServletResponse没有setCharacterEncoding方法。

2.4版本才有。需要将项目中的jar更新即可。

而关联上tomcat之后,classpath中的jar又丰富了,2.4版本应该了2.3版本,也不会报错。

就是这个原因,但是我一直没有找到解决方案。

我一直以为是tomcat服务器lib目录下servlet-api.jar版本太低,我就进行了高版本的替换,但是无论我怎么改都是会有问题的依然报错。

后来我就找同事来看,点开这个HttpServletResponse类我就真的是恍然大悟。我真是个傻子,因为我的是maven项目maven的servlet-api.jar依赖的版本一直都是2.3版本的,改了之后就可以了

<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>

更新maven项目依赖,右键项目-》Maven-》Update Project就好了

鄙人找到的解决方案,有错误请多指点纠正

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值