Modele mvc de spring

Vous pouvez déclarer un haricot géré par Spring dans la portée WebSocket. Vous pouvez injecter des haricots à portée WebSocket dans les contrôleurs et tous les intercepteurs de canal enregistrés sur le clientInboundChannel. Ce sont typiquement des singletons et vivent plus longtemps que n`importe quelle session WebSocket individuelle. Par conséquent, vous devez utiliser un mode proxy de portée pour les haricots à portée de WebSocket, comme le montre l`exemple suivant: inventé par Craig McClanahan, Struts est un projet open-source hébergé par l`Apache Software Foundation. À l`époque, il a grandement simplifié le paradigme de programmation JSP/servlet et a remporté plus de nombreux développeurs qui utilisaient des frameworks propriétaires. Il a simplifié le modèle de programmation, il a été Open source (et donc libre, comme dans la bière), et il avait une grande communauté, qui ont laissé le projet grandir et devenir populaire parmi les développeurs Web Java. Si vous ne spécifiez pas le paramètre de contexte contextConfigLocation, le ContextLoaderListener recherche un fichier appelé/WEB-INF/applicationContext.xml à charger. Une fois les fichiers de contexte chargés, Spring crée un objet WebApplicationContext basé sur les définitions de Bean et le stocke dans le ServletContext de l`application Web. Si vous spécifiez un résolveur de fichiers à parties multiples, la demande est inspectée pour les parties multiples; Si plusieurs parties sont trouvées, la demande est encapsulée dans un MultipartHttpServletRequest pour un traitement ultérieur par d`autres éléments dans le processus.

Reportez-vous à la section 17,10, «prise en charge des fichiers multiparties (upload) de Spring» pour plus d`informations sur la gestion en plusieurs parties. L`API Spring WebSocket est facile à intégrer dans une application Spring MVC où DispatcherServlet sert à la fois la négociation HTTP WebSocket et d`autres requêtes HTTP. Il est également facile à intégrer dans d`autres scénarios de traitement HTTP en appelant WebSocketHttpRequestHandler. C`est pratique et facile à comprendre. Toutefois, des considérations particulières s`appliquent en ce qui concerne les runtimes JSR-356. Sinon, si la configuration CORS le permet, envisagez d`exclure les URL avec le préfixe de point de terminaison SockJS, laissant ainsi le SockJsService de Spring le gérer. Vous pouvez également utiliser @ModelAttribute comme une annotation au niveau de la méthode sur les méthodes @RequestMapping, auquel cas la valeur de retour de la méthode @RequestMapping est interprétée comme un attribut de modèle. Cela n`est généralement pas nécessaire, car il s`agit du comportement par défaut dans les contrôleurs HTML, sauf si la valeur de retour est une chaîne qui serait autrement interprétée comme un nom de vue. @ModelAttribute pouvez également personnaliser le nom de l`attribut de modèle, comme le montre l`exemple suivant: le config Java MVC et l`espace de noms MVC fournissent une configuration par défaut similaire qui substitue les valeurs par défaut de DispatcherServlet.

L`objectif est d`épargner la plupart des applications d`avoir à avoir à créer la même configuration et aussi de fournir des constructions de niveau supérieur pour configurer Spring MVC qui servent de point de départ simple et nécessitent peu ou pas de connaissance préalable de la sous-jacente Configuration. Avec RedirectAttributes après la page rafraîchissante, mes attributs de modèle du premier contrôleur ont été perdus. Je pensais que c`est un bug, mais alors j`ai trouvé la solution. Dans le premier contrôleur, j`ajoute des attributs dans ModelMap et le faire au lieu de « Redirect »: un @ModelAttribute sur une méthode indique que l`objectif de cette méthode est d`ajouter un ou plusieurs attributs de modèle. Ces méthodes prennent en charge les mêmes types d`arguments que les méthodes @RequestMapping mais ne peuvent pas être mappées directement aux demandes. Au lieu de cela @ModelAttribute méthodes dans un contrôleur sont appelées avant @RequestMapping méthodes, dans le même contrôleur. Quelques exemples: passer à des détails, tout ce que vous devez faire est de déclarer un ContextLoaderListener dans le fichier Web. xml servlet Java EE standard de votre application Web et d`ajouter une section contextConfigLocation (dans le même fichier) qui définit le jeu de Fichiers de configuration XML de source à charger.

« »