web-dev-qa-db-fra.com

L'intégration de JSP avec AngularJS, est-ce une préoccupation dans le monde réel?

Suis-je dans la bonne direction d'apprentissage Angular JS?

Je suis nouveau sur AngularJS mais j'ai réussi à exécuter un fichier jsp qui contient du code AngularJS, et j'ai fait un calcul/ajout de test et cela a bien fonctionné.

Plus tard, lorsque je recherche des forums Web, j'ai appris qu'ils ne sont pas censés fonctionner ensemble, car cela peut causer des problèmes.

J'ai utilisé netbeans et GlassFish Server.

19
user2986018

Je ne mélangerais pas une technologie Servlet/JSP avec un SPA (application d'une seule page .... pilotée par angular dans votre cas). Ce que vous pouvez faire est utilisez un outil comme SpringMVC (ou Jersey) qui a un seul JSP qui est votre angular piloté. De cette façon, vous avez beaucoup de contrôle sur le HTML/JS initial/CSS payload dans la réponse initiale. Une fois cette "application" chargée, toute sa communication avec le serveur se fait via des appels XHR ($ http ou $ ressource en angulaire). Spring rend cela assez simple à créer en utilisant @Controller et en vous donnant toute la flexibilité dont vous avez besoin ... des choses comme la sécurité du ressort et l'injection de dépendances.

J'ai travaillé pendant mon temps libre sur quelque chose de simple comme ça pour aider Java les gens côté serveur à entrer dans Angular.

l'idée est que vous auriez un contrôleur qui renvoie un JSP lorsque vous faites une demande GET à

http://your.site.com/contextRoot

Cette page aurait les liens JS/CSS pour charger Bootstrap/JQuery/Angular/Whats ... À partir de là, le routeur angular se déclencherait et votre URL pourrait finir comme ça)

http://...../contextRoot#home

Toutes les communications entre le JSP exécutant angular sur le client et le serveur se font avec des appels $ http et vous pouvez créer des contrôleurs au printemps pour gérer tout cela.

Je reviendrai ici une fois que mon application "Springular" sera disponible

15
Jason

Cela dépend beaucoup de la façon dont vous souhaitez utiliser chaque partie. Angular est un full sur MVC, donc si vous vous attendez à utiliser un framework JSP complet sur le backend et Angular sur le front end, vous risquez de vous retrouver dans certaines situations étranges. Il semble que ce que la plupart des gens font est de servir principalement statique Angular sur le frontal et de le faire parler à un serveur REST qu'ils programment) dans le langage back-end qu'ils préfèrent. Donc, vous faites vraiment deux choses qui finissent par être distinctes: écrire le code MVC frontal puis écrire un back-end REST API.

Pour une discussion plus approfondie, vous pouvez consulter:

modèle MVC du client AngularJS?

ou

http://draptik.github.io/blog/2013/07/13/angularjs-example-using-a-Java-restful-web-service/

ou

AngularJS avec Spring-mvc

12
urban_raccoons