在eclipse中用jetty启动后访问接口报NoSuchMethodError的错误

具体的错误提示是“org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()I”
用的是jetty6,项目升级了spring5,没升级之前项目运行都是好的,网上查了下都是说jetty版本和servlet不一致引起的,要升级jetty,但是我在另外一个项目中同样用了spring5,jetty6,运行没有问题。经过debug发现spring的ServletWebRequest类调用checkNotModified方法时取出的response是ShiroHttpServletResponse,然后在调用getStatus方法时就提示找不到,但是查看ShiroHttpServletResponse类发现是继承HttpServletResponseWrapp类,而这个类是有getStatus方法的,所以不能理解为什么会找不到这个方法。debug的时候servlet调用的是3.1.0的版本,并没有降级版本。
具体调用异常的方法:
图片.png

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进