使用@Responsebody 注解,报错。

HTTP Status 500 - Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: void javax.servlet.http.HttpServletResponse.setContentLengthLong(long)

SpringMVC的一个测试,写的是一个从后台返回数据到前端,后台能把对象解析成JSON格式,但是返回的时候报错,实在是找不到了

把这个方法的代码发出来看看,调用了这个方法吗?setContentLengthLong

应该是你依赖的版本问题

你的Student类是不是第三个参数是int型的?
spring-webmvc的版本是多少?

一般都是这些原因:

NoSuchMethodError中文意思是没有找到方法,遇到这个错误并不是说依赖的jar包、方法不存在而找不到,这就类似于 ClassNotFoundException错误了,出现ClassNotFoundException错误也不一定是缺少依赖的jar、class,有可能是依赖的冲突,即引用了多次报错Class的jar。那么同样道理,NoSuchMethodError出现经常是因为报错的这个方法的类的jar包产生了冲突。
解决办法去看看pom.xml有没有相同的依赖引入

在java中,如果一个类A没有自己写构造方法,那么java会自动给他创建一个无参构造器
如果这个类A自己写了,那么java就不操心了。 但是,这种情况下如果在方法中,调用了new A()这个无参方法时,就会出错。而Spring MVC会使用这个无参方法,所以报错
建议:什么情况下,都显式声明无参构造函数

前两种不管有没有都先清理缓存,idea右侧有个maven,点击clean,然后重启项目

我记得springmvc要想使用这个注解的话,需要4.0以上的版本,而且还需要两个能够解析json的jar包。还有看你说的样子,好像各个版本之间的差距有点大啊。

谢谢各位,找到答案了