MVC- pytanie o poprawnosc rozwiazania

0

Witam. Chcialem spytac czy logika rozwiazania jest poprawna?
Stworzylem aplikacje webowa. Chce aby bylo to zgodne z MVC.

podzieliłem to na taka stukture:

com.moja_aplikacja1.model
com.moja_aplikacja1.web

com.moja_aplikacja2.model
com.moja_aplikacja1.web

com.common

  1. w pakiecie com.common umiescilem klasy ktore beda uzywane we wszystkich aplikacjach np. do polaczenia z Oraclem itd
  2. w pakiecie *.model umiescilem klase aplikacji
  3. w pakiecie *.web umiescilem wszystkie servlety (w katalogu WEB znajduja sie pliki jsp z taka sama nazwa co servlet, np -
    servlet getusers bedzie wywolywal formatke getusersTpl.jsp itd)

Pojawił sie natomiast problem i nie wiem jak go rozwiazac. Wszystkie metody z pakietu *.model musze miec ustawione na public bo inaczej nie moge ich wywoałać w servletach z *.web
Czy ktos moze mi powiedziec jak powinno byc to rozwiazanie, żeby było zgodne ze sztuką?

z góry dziekuje

0

Witam, przedstawiony zarys projektu troche mija sie z MVC,
przede wszystkim servlety to programy przetwarzajace rzadania a wiec
zajmuja sie logika biznesowa w zwiazku z tym powinny byc np w podpakiecie
modelu. W View powinienes miec tylko stronki jsp. Poza tym skoro to ma byc MVC
to gdzie Controller ktory "spawa" model z view??

0

Czesc, w tym zarysie jako view potraktowałem pliki jsp, jako kontroler potraktowałem servlety ktore łaczą model z view, bo w nich w zaleznosci od wyniku ustawiam widok.
Generalnie chodzi mi tylko o to jak powinna zostac rozwiazana sprawa metod public, protected, private w modelu, poniewaz sa metody ktorych potrzebuje uzyc w kontrolerze ale chyba niedokonca to dobrze wyglada jak wszystkie sa public.

0

Nie bardzo czaję twojego podziału ale jak dla mnie sprawa jest prosta.

Jak mniemam chodzi Ci o aplikacje typu JEE. Nie bardzo też wiem czy o to Ci chodzi. Generalnie jeśli tworzysz jakąś prostą stronkę czy aplikację to stwórz sobie wara.
Np używając mavena masz już dużo gotowych archetypów . w takim warze możesz sobie utworzyć kilka katalogów np :

  • entities (zawierający encje)
  • repos ( zawierają dao)
  • services (zawierają inne usługi )
  • utils (narzędzia itd)

coś na takiej zasadzie. Tak samo w katalogu test tworzysz podobną strukturę w zależności co chcesz testować . Natomiast jak chcesz stworzyć bardziej rozbudowaną aplikację to wtedy tworzysz eara w którym nasz ejb oraz wara. Wtedy logikę biznesową zamieszczasz w ejb (jar) natomiast servlety i strony jsp oraz inne dajesz do wara.

Nie wiem czy o to Ci chodzi ale z mojej strony tak to wygląda (proszę mnie poprawić jeśli się mylę )

Natomiast jeśli chodzi o działanie jako całość to na podstawie prostego przykładu robi się tak, że masz strony które stanowią twój widok , servlety w roli kontrolerów które sterują przepływem . W takim servlecie wstrzykujesz sobie np odpowiednie dao używając cdi, jndi , czy też springowego autowired pobierasz odpowiednie dane i wysyłasz na widok czyli twoje strony jsp np.

Jeśli dobrze rozumuję i raczej mam rację to w mvc nie chodzi o to jaką masz strukturę katalogów tylko jaki jest przepływ sterowania, i co robią odpowiednie elementy.

Jeśli chcesz zobaczyć jak to wygląda np w springu. To używając eclipse ściągnij sobie jboss tools i tam masz prostą aplikację Spring MVC Project . Zobacz sobie jak to wygląda. Sam nie jestem guru jeśli chodzi o JEE ale to nie polega na tym abyś ustawiał metody ma public w swoim modelu tylko używając IoC lub DI wstrzykiwał odpowiednie obiekty itd ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1