Integrarea JSP cu AngularJS, este o problemă în lumea reală? [închis] (Programare, Angularjs, Jsp, Integrare)

user2986018 a intrebat.

Mă îndrept într-o direcție corectă de învățare a Angular JS?

Sunt nou în AngularJS, dar am reușit să rulez un fișier jsp care conține codul AngularJS și am făcut un test de calcul / adăugare și a funcționat bine.

Mai târziu, când am căutat pe forumurile web, am aflat că ambele nu ar trebui să lucreze împreună, deoarece pot cauza probleme.

Am folosit netbeans și GlassFish Server.

Comentarii

  • Cine ți-a spus că nu poți folosi JSP cu AngularJS? Se pare că ți s-a dat un sfat prost. –  > Por Jacob.
2 răspunsuri
Jason

Eu nu aș amesteca o tehnologie Servlet/JSP cu un SPA (single page app….driven by angular în cazul tău). Ceea ce dvs. poate face este să folosiți un instrument precum SpringMVC (sau Jersey) care are un singur JSP care este SPA-ul tău condus de angular. În acest fel, aveți mult control asupra încărcăturii HTML/JS/CSS inițiale din răspunsul inițial. Odată ce acea „aplicație” este încărcată, toată comunicarea cu serverul se face prin apeluri XHR ($http sau $resource în angular). Spring face ca acest lucru să fie destul de simplu de creat folosind @Controller și oferindu-vă toată flexibilitatea de care aveți nevoie… lucruri precum securitatea Spring și injecția de dependență.

Am lucrat în timpul meu liber la ceva simplu, exact ca acesta, pentru a-i ajuta pe cei din java server side să intre în Angular.

Ideea este că veți avea un controler care returnează un JSP atunci când faceți o cerere GET către

http://your.site.com/contextRoot

Acea pagină ar avea link-urile JS/CSS pentru a încărca Bootstrap/JQuery/Angular/Whatever… De acolo, routerul angular ar intra în acțiune, iar URL-ul tău ar putea sfârși în felul următor

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

Toată comunicarea dintre JSP care rulează angular pe client și server se face cu apeluri $http și puteți face controlori în Spring pentru a gestiona toate acestea.

Voi posta aici după ce voi avea aplicația mea „Springular” disponibilă

Comentarii

  • hi @jason orice concluzii cheie din acest exercițiu? –  > Por Paul John.
  • ei bine, nu am reușit să dedic atât de mult timp cât mi-aș fi dorit, dar timpul limitat pe care l-am putut dedica acestui lucru, simt că a făcut AuthZ mult mai simplu. –  > Por Jason.
urban_raccoons

Acest lucru depinde foarte mult de modul în care doriți să utilizați fiecare parte. Angular este un MVC complet, așa că, dacă vă așteptați să folosiți un cadru JSP complet pe partea din spate și Angular pe partea din față, s-ar putea să ajungeți în situații ciudate. Se pare că ceea ce fac cei mai mulți oameni este să servească în mare parte Angular static pe partea frontală și să îl facă să vorbească cu un server REST pe care îl programează în orice limbaj de back-end pe care îl preferă. Deci, în realitate, faci două lucruri care ajung să fie destul de separate: scrii codul MVC din față și apoi scrii un API REST din spate.

Pentru o discuție mai aprofundată, puteți consulta:

AngularJS client MVC pattern?

sau

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

sau

AngularJS cu Spring-mvc