Soy absolutamente novato con Java y Spring y quiero aprender del ejemplo.No se ha encontrado ninguna correspondencia para la solicitud HTTP con URI [/ myproject /] en DispatcherServlet con el nombre 'appServlet'
estoy usando un out-of-the-box de configuración/instalación
- Mac OS X
- SpringSource Tool Suite como IDE
- primavera 2.8.1.RELEASE
- vFabric-tc -server-developer-2.6.1.RELEASE
He intentado generar un nuevo proyecto basado en "Spring Template Project". Luego elegí el "Proyecto Spring MVC". El proyecto de ejemplo se genera. Después de eso, sin modificar nada, he intentado ejecutar la página "home.jsp" a través de "Ejecutar como". El servidor web se inicia y finalmente recibí el error en la pestaña de la consola.
ninguna asignación encontró para la petición HTTP con URI [/ miproyecto /] en DispatcherServlet con el nombre 'appServlet'
Y este otro de salida en estas páginas web:
http://localhost:8080/myproject/WEB-INF/views/home.jsp
http://localhost:8080/myproject
Aquí se puede ver una imagen de cómo se estructure mi proyecto (auto generada por STS):
Cuál es el problema?
Aquí se puede ver el contenido del archivo web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
El archivo raíz context.xml tiene este contenido.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
</beans>
Y, finalmente, el servlet-context.xml tiene este contenido.
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="com.mycompany.myapp" />
</beans:beans>
¿Alguien tiene una idea para resolverlo?
@AlfonsoDominguez @duffymo El proyecto autogenerado tiene un archivo llamado "HomeController.java" con el siguiente contenido: com.mycompany.myapp ' paquete; [...] OMITED PART [...] /** * Maneja las solicitudes para la página de inicio de la aplicación. */ @Controller HomeController public class { \t \t \t/** * \t Simplemente selecciona la vista de inicio para rendir mediante la devolución de su nombre. \t */ \t @RequestMapping (value = "/", method = RequestMethod.GET) \t casa public String (Locale locale, modelo Modelo) { \t \t cadena str = "mensaje de servidor"; \t \t \t \t model.addAttribute ("serverTime", str); \t \t \t \t return "home"; \t}} \t ' es eso lo que dice? –
sí, eso es lo que quise decir, ¿has intentado acceder a la URL 'http: // localhost: 8080/myproject/home'? Esa URL parece ser la correcta de sus archivos de configuración. –