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就好了
鄙人找到的解决方案,有错误请多指点纠正