Essayer d'utiliser le ressort 4 Websocket avec une socket sur une socket avec Sockjs. Et j'ai rencontré un problème.
Ma configuration: p>
Websocket.xml - une partie du contexte de printemps p> Code du contrôleur: P> < Pré> xxx pré> côté client: p> sortie: p> Ce que je fais mal? P> J'ai trouvé des exemples dans Google (Tickerstocks ou quelque chose comme ça, des applications de vœux (exemple de printemps)) et tous me donnent la même erreur. J'essaie d'utiliser des standards avec la poignée de main (sans Sockjs) - même résultat). P> Informations d'addition: stry> p> Méthode Public AjaxResponse Bonjour (); / Code> placé dans IndexController sur le contexte de la racine "/". Donc, je peux fournir un chemin complet:
http: // localhost: 8080 / WS code>.
Déployer testé tomcat7 et tomcat8. P> p>
4 Réponses :
Je pense que votre problème peut être la même chose de Celui-ci Et sa réponse acceptée peut s'appliquer.
En bref: Vérifiez comment vous avez cartographié votre Dispatcherservlet. Pour que votre URL de point final soit http: // localhost: 8080 / WS code> Le Dispatcherservlet et strong> La racine de votre application doit être définie comme "/".
web.xml code>: p> xxx pré> ceci ou vous devez inclure la racine contextuelle et la cartographie des répartiteurs dans votre URL de point final: p> xxx pré> J'espère que cela peut vous aider. p>
regarde. p>
heleno p> p>
Je ne peux pas vérifier cela maintenant, car je n'ai plus de configuration XML à mon application
@dikkini, il suffit de supprimer la configuration XML à partir de votre application réussi à résoudre le problème ou si vous avez également fixé la cartographie de Disternerservlet et / ou la racine de contexte? Je suis curieux de la solution avec webinitializer. Tu ne peux pas la poster toi-même comme réponse?
je suis Boris L'araignée conseil et j'ai commencé à utiliser la configuration Java (appconfig et webinit Files). de fichiers de configuration XML. Quand j'ai fini la migration - j'ai essayé Webockets - et ça marche! Je pensais que le problème principal était dans la configuration XML pour Websket. P>
Premièrement, vous avez défini le préfixe de destination avec l'application, vous devez donc ajouter «application» dans votre URL de la demande. par exemple. Si je voulais demander à '/ ws', je devrais créer des chaussettes avec le chemin '/ Server / App / WS', vous pouvez également coder avec
Deuxièmement, vous devez ajouter le chemin '/ app / *' à org.springframework.web.servlet.dispatchersservlet afin d'éviter le chemin avec préfixe '/ application' intercepté par intercepteur défini dans web.xml. p > var socket = nouveau sockjs ("
Je suis arrivé sur cette page et - merci à Boris La réponse acceptée a été motivée pour reconsidérer l'approche Java Contrairement à l'approche XML qui causait le - / INFO = 34424 avec erreur 404 ... Quiops Lost Connection - J'ai le printemps 4.2 dans mon projet et de nombreuses implémentations de Stompjs de Sockjs fonctionnent généralement bien avec les implémentations de démarrage de printemps. Cette implémentation de BaelDung a travaillé (pour moi sans passer du printemps 4.2 à 5 ou de démarrage). Après avoir utilisé les dépendances mentionnées dans son blog, cela m'a toujours donné la classeNotfoundverror. J'ai ajouté la dépendance ci-dessous pour le réparer.
>>> SEND destination:/app/chat content-length:38 {"from":"nicholas","text":"try again"} <<< MESSAGE destination:/topic/messages content-type:application/json;charset=UTF-8 subscription:sub-0 message-id:m3p096zk-11 content-length:53 {"from":"nicholas","text":"try again","time":"13:46"}
Pas vraiment pertinent mais je voudrais fortement b> vous suggère d'abandonner l'utilisation de fichiers de configuration basés sur XML et d'adopter Javaconfig globalement plutôt que de mélanger et de faire correspondre. Il existe un didacticiel complet sur la configuration en utilisant Javaconfig et Sockjs. Plus important encore, comment votre application est-elle déployée? C'est à la racine du serveur Web? parce que votre URL dans le JavaScript est absolue.
Puis-je supprimer complètement la configuration XML de mon application? Il ne diminuera pas la vitesse de mon application? Je peux supprimer tout XML et créer un Webconfig pour toute l'application? Ce tutoriel complet c'est une application de voeux (exemple au printemps) que je mentionne en question que je l'ai essayée.
Oui, vous n'avez pas besoin aucun i> xml du tout. Il ne ralentira certainement pas l'application - il peut même que votre XML n'a pas besoin d'être "compilé" dans le code de configuration. Il vous suffit de vous assurer de BOOTSTRAP Votre application avec la classe de configuration racine.
Boris L'araignée, écrivez une réponse sur Supprimer tout XML (inclure web.xml - faire un webinialisateur à la place) Je vais le marquer comme réponse. Après cela, j'écris du code avec Websocket, Sockjs et Stomp - et tout fonctionne.