Ich versuche, eine sehr einfache Spring @mvc-App zum Laufen zu bringen, und ich stoße auf einen Mapping-Fehler.Was verursacht den Mappingfehler in dieser Spring MVC App?
Von web.xml:
<servlet>
<servlet-name>works</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>works</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Der Controller:
@Controller
@RequestMapping("/test")
public class TESTController {
private static Logger appLogger = Logger.getLogger("AppLogFile");
public String serviceRequest( Model model)
{
appLogger.info("======================= TESTController GET ===============================");
model.addAttribute("returnString","TESTController handled the request") ;
return "SingleStringView";
}
Werke-servlet.xml:
<context:component-scan base-package="com.ami.dbconnect.controller" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<bean id="TESTController" class="com.ami.dbconnect.controller.TESTController"></bean>
<!-- view resolver not shown -->
Die App auf Tomcat 7 bei/webapps eingesetzt wird/funktioniert. Die Tomcat Dateistruktur ist:
webapps
/works
/WEB-INF
/classes
/lib
Ich versuche, den Controller mit der URL aufzurufen: localhost: 8080/Werke/Test
In tomcat7-stdout ich sehe:
1106 [Pool -2-thread-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Veröffentlicht WebApplicationContext von Servlets 'funktioniert' als ServletContext mit attribute name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.works]
1106 [pool-2-thread-1] INFO org.springframework.web .servlet.DispatcherServlet - FrameworkServlet 'funktioniert': Initialisierung in 728 ms abgeschlossen
1106 [pool-2-Faden-1] DEBUG org.springframework.web.servlet.DispatcherServlet - Servlets 'Arbeiten' erfolgreich konfiguriert
14068 [http-apr-8080-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet - DispatcherServlet mit dem Namen 'funktioniert' GET Anfrage ist für [/ Werke/test]
14071 [http-apr-8080 -exec-2] WARN org.springframework.web.servlet.PageNotFound - Keine Zuordnung für HTTP-Anforderung mit URI [/ works/test] in DispatcherServlet mit dem Namen 'works' gefunden
Also meine Frage (endlich!): Erkennt Spring die Anmerkungen im Controller nicht? Wenn nicht, was könnte bei dieser einfachen Einrichtung falsch sein?
Vielen Dank für jede Hilfe oder Beratung, beeky