2015-08-09 2 views
1

org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter устарела и ошибка org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping в MVC-dispatcher.xml. Почему это может быть? , пожалуйста, помогите мне?DefaultAnnotationHandlerMapping осуждается в dispatcher.xml

код как таковой следующий

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> 
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="saveGeoJSON.html">HspatialController</prop> 
     </props> 
    </property> 
</bean> 

DefaultAnnotationHandlerMapping и AnnotationMethodHandlerAdapter является просачивание

ответ

2

Вы должны заменить эти классы RequestMappingHandlerMapping и RequestMappingHandlerAdapter, если вы используете Spring 3.1 и выше.

Если вы проверяете Spring 3.1 reference documentation, вы поймете, почему эти классы устарели:

Spring 3,1 вводит новый набор классов поддержки для обработки запросов с аннотациями контроллеров:

RequestMappingHandlerMapping

RequestMappingHandlerAdapter

ExceptionHandlerExceptionResolver

Эти классы являются заменой существующих:

DefaultAnnotationHandlerMapping

AnnotationMethodHandlerAdapter

AnnotationMethodHandlerExceptionResolver

новые классы были разработаны в ответ на многочисленные просьбы сделать аннотирования классы поддержки контроллера более настраиваемый и открытый для расширения . Если ранее вы могли сконфигурировать настраиваемый обработчик аргументов контроллера метода , с новыми классами поддержки, то вы можете настроить обработку для любого поддерживаемого аргумента метода или типа возвращаемого значения.

Вторая заметная разница - введение абстракции HandlerMethod для представления метода @RequestMapping. Эта абстракция используется во всех новых классах поддержки как экземпляр обработчика. Например HandlerInterceptor может бросить обработчик от объекта к HandlerMethod и получить доступ к методу контроллера целевого, его аннотаций и т.д.

Новые классы по умолчанию включены в пространстве имен MVC и Java на основе конфигурации через @EnableWebMvc. Существующие классы будут по-прежнему доступны, но рекомендуется использовать новые классы в будущем.

+0

мой код был изменен следующим образом: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping, но все же ошибка 406. Можете ли вы мне помочь? – develop

+0

Ошибка 406 означает, что ресурс, идентифицированный запросом, способен генерировать объекты ответа, которые имеют характеристики контента, неприемлемые в соответствии с заголовками приема, отправленными в запросе. У вас есть ограничение заголовка для Accept в вашем контроллере? Можете ли вы опубликовать код своего контроллера? –

+0

, пожалуйста, нажмите http://stackoverflow.com/questions/31903885/406-error-406-not-acceptable-http-localhost8080-savegeojson-html/31904018#31904018 – develop

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