J'ai construit une application utilisant Spring avec Eclipse IDE. Lorsque je lance le projet à partir d'Eclipse IDE, tout va bien, mais lorsque je compresse le projet maven en tant que fichier war et que je le déploie pour séparer Tomcat, j'ai ce problème.
The Origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Ceci est un extrait de configuration de mon fichier 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>
J'essaie d'accéder à ce contrôleur
@RequestMapping(value = {"/welcome", "/"})
public String defaultPage() {
return "Web Service data successfuly consumed";
}
quelqu'un avec une idée pourquoi cela échoue sur déployé à tomcat?
J'ai lutté avec ce problème plusieurs fois.
La solution que j'utilise actuellement est l'application Web (ou le dossier dans lequel vous avez conservé les vues, comme jsp) est en cours de déploiement Assembly.
Pour ce faire, dossier Right click on the project > Build Path > Configure Build path > Deployment Assembly > Add(right hand side) > Folder > (add your jsp
. Dans le cas par défaut, il s'agit de src/main/webapp
)
Vous pouvez également obtenir cette erreur après avoir tout corrigé, mais sur le JSP, vous placez la balise d'ancrage à l'ancienne (j'ajoute cette option si cela aide quelqu'un d'autre avec le même problème).
J'ai eu la syntaxe suivante sur le jsp. <a href="/mappedpath">TakeMeToTheController</a>
et j'ai continué à voir l'erreur mentionnée dans la question. Toutefois, le remplacement de l’étiquette par celle illustrée ci-dessous a résolu le problème.
<a href=" <spring:url value="/mappedpath" /> ">TakeMeToTheController</a>
J'ai reçu la même erreur lorsque je travaillais dans une application Spring Boot, car il est facile de le faire avec localhost:8080/hello/World
mais lorsque vous avez créé l'artefact et que vous l'avez déployé sur Tomcat, vous devez passer à localhost:8080/<artifactName>/hello/World
Si vous développez une application de démarrage de printemps, ajoutez "SpringBootServletInitializer" comme indiqué dans le code suivant à votre fichier principal. Parce que sans SpringBootServletInitializer, Tomcat le considérera comme une application normale, mais pas comme une application de démarrage Spring.
@SpringBootApplication
public class DemoApplication extends *SpringBootServletInitializer*{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication .class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication .class, args);
}
}
Le même problème est résolu en créant un fichier geoexplorer.xml dans /opt/Apache-Tomcat-8.5.37/conf/Catalina/localhost Le contenu du fichier geoexplorer.xml
<Context displayName="geoexplorer" docBase="/usr/share/opengeo/geoexplorer" path="/geoexplorer"/>
Tentative d'exécuter un servlet dans Eclipse (clic droit + "Exécuter sur le serveur") J'ai rencontré le même problème: "Statut HTTP: 404/Description: le serveur d'origine n'a pas trouvé de représentation actuelle de la ressource cible ou n’est pas disposé à révéler qu’il en existe un ".
Finalement, j'ai trouvé le problème dans un endroit inattendu: dans Eclipse, l'option "Construire automatiquement" n'était pas définie. Ainsi, le servlet n'a pas été compilé et aucun fichier "myServlet.class" n'a été déployé sur le serveur (dans mon cas, dans le chemin .wtpwebapps/projectXX/WEB-INF/classes/XXpackage /). Construction du projet manuellement et le redémarrage du serveur a résolu le problème.
Mon environnement: Eclipse Neon.3 version 4.6.3, Tomcat-Version 8.5.14., OS Linux Mint 18.1.
Je faisais face au même problème.
Lorsque je clique avec le bouton droit -> exécuter sur le serveur, puis sélectionne mon serveur manuellement, cela fonctionne.
Faire
Alt+Shift+X
puis sélectionnez manuellement votre serveur. Cela pourrait aider.
Je fais également face au même problème et je le résous en mettant le fichier web.xml et le fichier applicationcontext.xml dans le dossier WEB-INF.
J'espère que cela t'aides :)
Dans Eclipse, allez à Projet -> cliquez sur Build automatiquement après que vous essayez d’exécuter
S'il s'agit d'un projet maven, Maven Update résoudra le problème - Cliquez avec le bouton droit sur Projet -> Maven -> Mettre à jour le projet et démarrez votre projet normalement.
solution one: Changez la version d'Apache Tomcat (la plus récente est préférable) (processus manuel).
deuxième solution: Installez le dernier Eclipse IDE et configurez le serveur Apache Tomcat (processus automatique interne i, e Eclipse gère la partie configuration).
Après une procédure réussie du processus automatique, le processus manuel doit fonctionner correctement.