2013-05-17 18 views
8

Obecnie próbuję się nauczyć Angular JS, ale najpierw chcę skonfigurować moje środowisko przy pomocy Spring mvc.Wiosna MVC i Angularjs

W tej chwili chcę tylko pracować z resztą, ale mam wątpliwości co do tego, co jest najlepszym sposobem, aby umieścić resoucres w Spring MVC

mój prosty applicaction ma ten squeleton:

my-simple-app: 
src 
    main 
    java 
    resources 
    webapp 
    resources 
    WEB-INF 

Jeśli chcę umieścić folder app od angular-seed, jakie jest najlepsze miejsce, aby go umieścić?

Próbowałem wstawić src/webapp/resources/app, ale muszę przenieść pliki html do WEB-INF?

Jaki był Twój szkielet w aplikacjach mvc z kątowym jssem?

Jaki jest najlepszy sposób przekierowania do app/index.html? do pliku powitalnego, a następnie działa tylko z angularjs$routeproviders?

Dzięki!

+1

Proszę przyjąć odpowiedź lub przekazać to, czego brakuje, aby inni mogli spojrzeć na to pytanie z przekonaniem: – Abilash

Odpowiedz

8

O ile mogę zrozumieć, przedniej technologia End Angualar JS i plecach technologia End Wiosna MVC.

Jestem programistą w dziale Front End, dlatego mogę udzielić porady na temat struktury kodu HTML, CSS i JavaScript.

Oto moje zalecenia:

  1. sposobu komunikacji między końcem przód i tył Koniec: JSON (powinny być ściśle przestrzegane dla wzorca MVC)

  2. pliku Lokalizacja: Wszystkie Twoje pliki front koniec powinien znajdować się w katalogu WEB-INF z tej struktury:

    • WEB-INF/Assets: wszystkie pliki JavaScript, bibliotek JavaScript, obrazy , CSS itp. Powinien być tutaj. Możesz otworzyć oddzielny folder Każdy rodzaj zasobów Wewnątrz zasobów

    • WEB-INF/JSP: Tutaj należy umieścić wszystkie swoje strony JSP. Jako największa siła kątowej jest pojedynczy Strona aplikacji, można utworzyć jedną JSP za stronę główną i umieścić je tutaj

    • WEB-INF/HTML: Wszystkie statycznych zasobów, które będą wstrzykiwane do JSP przy użyciu <ng-view> lub <ng-include> można umieścić tutaj

Mam nadzieję, że to pomoże!

5

Najprostszym sposobem na zrobienie jest pobranie wszystkich plików z katalogu angular-seed/app i skopiowanie ich do katalogu src/main/webapp. Po skopiowaniu tych plików powinieneś móc ponownie wdrożyć aplikację i mieć działającą próbkę.

Większość kontenerów serwletów będzie zawierać index.html jako domyślny plik powitalny. Jeśli tak nie jest, możesz dodać tę konfigurację w pliku web.xml <welcome-file-list>.

Katalog WEB-INF przeznaczony jest dla zasobów sieciowych, które nie powinny być eksponowane bezpośrednio w Internecie. web.xml jest przykładem pliku, który nie powinien być dostępny dla zdalnych użytkowników. W takim przypadku można bezpiecznie odsłonić wszystkie zasoby aplikacji bezpośrednio w Internecie; w związku z tym nie trzeba umieszczać zasobów w WEB-INF.

+2

uwaga, jeśli używa sprężynowego MVC, a on ma wiosnę -serwer dyspozytora-mvc zmapowany do /, to przejął wszystkie żądania :) – JustDanyul

+0

Również dla bezpiecznej aplikacji nie chcę ujawniać wszystkich js i html, które mają walidacje biznesowe i przepływy i algorytmy front endu do świata. Jeśli w trybie web-inf zostaną udostępnione te pliki tylko zalogowanym/użytkownikom z odpowiednimi rolami – tgkprog

0

Polecam tę strukturę do projektu:

my-simple-app: 
    src 
     main 
      java 
       controller 
        MySpringCtr.java 
       models 
        Person.java 
        House.java 
        *.java 
     webapp 
      WEB-INF 
       resources 
        css 
         style.css 
         *.css 
        js 
         angularCtr.js 
         *.js 
       pages 
        index.jsp 
        *.jsp 
       mvc-dispatcher-servlet.xml 
       web.xml 

znalazłem poradnik dla początkujących, który wyjaśnia krok po kroku, jak połączyć SpringMVC i angularjs można znaleźć samouczek i kompletny kod in this blog Mam nadzieję, że będzie przydatny :)

2

w moim pierwszym etapie Kątowymi + sprężyna użyłem tej listy tutoriali:

https://www.youtube.com/watch?v=Sc2atFv_h_I

Zawiera 12 świetnych filmów wideo, które wyjaśniają "Jak" krok po kroku. Zawiera informacje na temat instalacji, konfiguracji, najlepszych praktyk architektury itp.