2015-02-11 3 views
0

Я пытаюсь создать простой веб-приложение here с использованием весны mvc рамки. После запуска своего проекта на сервере Tomcat и ввод данных в форму и после щелчка на кнопку я получаю следующее сообщение об ошибке представить:Состояние HTTP 500 - обработка запроса не выполнена; Вложенное исключение - java.lang.ClassCastException?

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) 

вы можете посмотреть содержимое файла по ссылке, упомянутой выше. Я пытаюсь использовать тот же код, указанный в ссылке выше, без каких-либо изменений. Пожалуйста, помогите мне выйти из этой проблемы.

ответ

0

Возможно, это связано с привязкой и использованием метода initBinder. Вы можете проверить версию Spring, которую используете. Я подозреваю, что между этим кодом и версией Spring, которые вы используете, могут возникнуть проблемы с совместимостью.

Что касается более старых версий Spring мы использовали annoted initBinder метода не со следующей подписью protected void initBinder(HttpServletRequest request, ServletRequestDataBinder dataBinder) throws Exception, а затем использовать registerCustomEditor от ServletRequestDataBinder связать параметры запроса к объекту команды

Мне кажется, что есть вызов от переопределенной версии initBinder с помощью WebRequestDataBinder вместо ServletRequestDataBinder для динамической цели вызова (через полиморфизм это может быть возможно)

Смежные вопросы

 Смежные вопросы