HTTP状态500-请求处理失败;嵌套异常是java.lang.ClassCastException?

HTTP状态500-请求处理失败;嵌套异常是java.lang.ClassCastException?,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我正在尝试一个使用SpringMVC框架的简单web应用程序。在tomcat服务器上运行我的项目并将数据输入表单后,单击submit按钮后,我收到以下错误消息: HTTP Status 500:Request processing failed; nested exception is java.lang.ClassCastException: org.springframework.web.bind.ServletRequestDataBinder cannot be cast to org

我正在尝试一个使用SpringMVC框架的简单web应用程序。在tomcat服务器上运行我的项目并将数据输入表单后,单击submit按钮后,我收到以下错误消息:

HTTP Status 500:Request processing failed; nested exception is java.lang.ClassCastException: 
org.springframework.web.bind.ServletRequestDataBinder cannot be cast to org.springframework.web.bind.support.WebRequestDataBinder
例外情况:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.springframework.web.bind.ServletRequestDataBinder cannot be cast to org.springframework.web.bind.support.WebRequestDataBinder
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:625)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:536)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
根本原因:

java.lang.ClassCastException: org.springframework.web.bind.ServletRequestDataBinder cannot be cast to org.springframework.web.bind.support.WebRequestDataBinder
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:754)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:744)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:296)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:163)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:354)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:342)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:763)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:709)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:613)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:536)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

您可以在上面提到的链接上查看文件内容。我正在尝试上面链接中给出的相同代码,没有任何更改。请帮我解决这个问题。

这可能与绑定和initBinder方法的使用有关。您可以检查正在使用的Spring版本。我怀疑这段代码与您正在使用的Spring版本之间可能存在一些兼容性问题

对于较旧版本的Spring,我们使用了一个带有以下签名的非注释性initBinder方法
受保护的void initBinder(HttpServletRequest request,ServletRequestDataBinder dataBinder)抛出异常
,然后使用ServletRequestDataBinder的registerCustomEditor将请求参数绑定到命令对象

在我看来,在调用的动态目标上(通过多态性,这可能是可能的),有一个使用WebRequestDataBinder而不是ServletRequestDataBinder的initBinder重写版本的调用