Thank you Enrico,
I added this:
Code:
<mvc:annotation-driven/>
before your reply, because I saw it somewhere. It still makes no difference, although adding this:
Code:
<!-- Maps '/' requests to the 'home' view -->
<mvc:view-controller path="/" view-name="home"/>
<context:component-scan base-package="com.grupogodo.it.projects.carrerer.web" />
<context:annotation-config/>
now allows me to see the "home" view when I access my application root URL. It doesn't work if I specify the "home" view myself, or other views, which makes me think I haven`t fixed anything just yet.
By the way, you suggested that by adding this:
Code:
<context:component-scan base-package="com.grupogodo.it.projects.carrerer.web" />
<context:annotation-config/>
I should be adding the beans definition to appServlet-servlet.xml. I've done that, like this:
Code:
<beans:bean id="SimpleController" class="com.grupogodo.it.projects.carrerer.web.SimpleController">
</beans:bean>
And I have created such class within the specified package:
Code:
package com.grupogodo.it.projects.carrerer.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping(value="/simple/*")
public class SimpleController {
@RequestMapping(value="/prueba", method=RequestMethod.GET)
public String simple() {
return "Controlador simple!!";
}
}
But it results in a ClassNotFoundException:
Code:
GRAVE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.grupogodo.it.projects.carrerer.web.SimpleController] for bean with name 'SimpleController' defined in ServletContext resource [/WEB-INF/system/config/appServlet-context.xml]; nested exception is java.lang.ClassNotFoundException: com.grupogodo.it.projects.carrerer.web.SimpleController
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.grupogodo.it.projects.carrerer.web.SimpleController] for bean with name 'SimpleController' defined in ServletContext resource [/WEB-INF/system/config/appServlet-context.xml]; nested exception is java.lang.ClassNotFoundException: com.grupogodo.it.projects.carrerer.web.SimpleController
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4350)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4659)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
I am not sure whether it is required to define that bean in this file, I haven't seen it in the examples I've read.
Any idea?