[J2EE] Struts i wzorzec MVC

0

Witam,

właśnie skończyłem przerabiać książkę Head First: Servlets & JSP i muszę przyznać, że mam niedosyt. Ale nie o tym chciałem pisać :)

Na końcu książki jest przykład użycia wzorca MVC2 i framework'a Struts 1. No i wynika z tego, że dla każdego formularza html muszę napisać klasę dziedzczącą po Action, klasę dziedziczącą po ActionForm, klasę modelu, widok w JSP i dodać to wszystko do pliku struts-config.xml ???

W rozdziale drugim tej książki był przykład MVC, to znaczy dla każdego formularza trzeba było napisać jeden servlet, klasę modelu i widok - i ten sposób był "wyśmiany" przez autorów książki.

Pytania:

1: Jakim cudem przykład wykorzystania Struts'a jest lepszy, skoro pisanie kodu z tym framework'iem zajmie 3 razy więcej czasu ??

2: Czy lepszym pomysłem nie byłoby czasami, gdyby każdy formularz wysyłał dodatkowy parametr określający która strona ma się wyświetlić, a w servlecie instrukcja warunkowa decydowałaby jakie dane pobrać z jakiego modelu i jaki widok wyświetlić ?? np:

if(request.getParameter("page").equals("dane")){
     //pobierz dane z modelu
     //zapisz dane w żądaniu
     //przekieruj żądanie do widoku : dane.jsp
}

Albo za pomocą switch/case. W takim wypadku też wykorzystujemy wzorzec MVC, natomiast kodu jest znacznie mniej.

Proszę, żeby ktoś, kto pracował z takimi narzędziami poradził mi jaki sposób wybrać... i przede wszystkim uzasadnił odpowiedź.

0
  1. Dlatego powstał Spring. Niektóre frameworki jak Spring, GWT czy Vaadin mają coś co nazywa się DispatcherServlet, który na podstawie konfiguracji przekierowuje żądania do odpowiednich klas.

  2. Pisanie kodu jest procesem krótkim w porównaniu do jego późniejszego wykorzystania. Zatem użycie nawet tak koślawego frameworku jak Struts1 i przerzucenie na niego części zadań jest lepszym rozwiązaniem niż ręczne rzeźbienie wszystkiego od zera.

0

Odradzam stosowanie czystego jsp, czy też Struts 1/2.

W dzisiejszych czasach istnieją lepsze opcje - JBoss Seam, czy Flex+BlazeDS/GraniteDS+Serwisy w Springu.
Słyszałem też sporo dobrego o GWT.
Spring MVC jakoś nie przypadł mi do gustu. Mam wątpliwości, czy sprawdziłby się w dużym projekcie.
Można też rozważyć JSF 2 (ja go jeszcze nie używałem).

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