He construido una aplicación usando Spring con Eclipse IDE. Cuando lanzo el proyecto desde el IDE de Eclipse todo va bien pero cuando empaqueto el proyecto de maven como un archivo war y lo despliego a tomcat por separado tengo este problema
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Este es un fragmento de configuración de mi archivo xml
<!-- View Resolver -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/pages/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
Estoy tratando de acceder a este controlador
@RequestMapping(value = {"/welcome", "/"})
public String defaultPage() {
return "Web Service data successfuly consumed";
}
¿alguien tiene una idea de por qué esto está fallando en desplegado a tomcat?
He recibido el mismo error al trabajar en una aplicación Spring Boot porque cuando se ejecuta como Spring Boot, es fácil hacer localhost:8080/hello/World
pero cuando se ha construido el artefacto y se ha desplegado en Tomcat, entonces hay que cambiar a usar localhost:8080/<artifactName>/hello/World
.
Tratando de ejecutar un servlet en Eclipse (clic derecho + "Ejecutar en el servidor") me encontré con el mismo problema: "Estado HTTP: 404 / Descripción: El servidor de origen no encontró una representación actual para el recurso de destino o no está dispuesto a revelar que uno existe." Añadir un index.html no ayudó, ni tampoco cambiar varias configuraciones del tomcat.
Finalmente, encontré el problema en un lugar inesperado: En Eclipse, la opción "Construir automáticamente" no estaba establecida. Por lo tanto, el servlet no se compiló, y ningún archivo "myServlet.class" se desplegó en el servidor (en mi caso en la ruta
Mi entorno: Eclipse Neon.3 Release 4.6.3, Tomcat-Versión 8.5.14., OS Linux Mint 18.1.