Mi proyecto incluye controladores sin anotaciones más antiguos junto con controladores más recientes basados en anotaciones.<mvc: annotation-driven /> con controladores sin anotación
Estoy utilizando los últimos Spring jars (3.0.5) y en mi dispatcher-servlet.xml hay <mvc:annotation-driven />
.
El problema es que <mvc:annotation-driven />
hace que la asignación de solicitudes (a través de la propiedad del nombre de los beans del controlador en el dispatcher-servlet.xml) a mis controladores no anotados no funcione ... cada vez que dirijo la solicitud a un controlador-anotado Recibo un mensaje de error como:
org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/some_path/some_page.htm] in DispatcherServlet with name 'dispatcher'
¿Cómo puedo mantener los controladores-anotado como son, sino decirle primavera para reconocer su asignación (estilo antiguo)?
Estoy buscando soluciones con un cambio mínimo en el código de Java de los controladores que ya tengo.
Gracias!
Gracias por esta respuesta tan útil. Mis controladores anteriores usaban el método name = url para mapear, así que agregué BeanNameUrlHandlerMapping a mi dispatcher-servlet.xml y ahora funciona nuevamente.Después de su respuesta, me tomé un tiempo para leer sobre asignaciones de manejadores y adaptadores de manejador (no los conocía). Ahora mi pregunta es en Spring 3, ¿qué asignaciones de controlador y adaptadores de controlador se definen automáticamente? Supongo que DefaultAnnotationHandlerMapping & AnnotationMethodHandlerAdapter pero cualquier otro? ¿Podría dirigirme a dónde se menciona en la documentación y/o el código? ¡Gracias de nuevo! – rapt