JSPModel2
Z Wikipedii
JSP Model 2 jest jednym z podejść do tworzenia aplikacji sieciowych przy pomocy technologii JSP.
W modelu 2 zapytanie klienta (przeglądarki internetowej) jest najpierw przechwytywane przez serwlet (Controller Servlet), który decyduje jaką stronę wyświetlić. W tym modelu klient nigdy nie wysyła zapytania prosto do strony JSP. To pozwala serwletowi na wstępne przetwarzanie zapytań, a w szczególności uwierzytelnienie, autoryzację, scentralizowane logowanie i pomaga w umiędzynarodowieniu strony. Po przetworzeniu zapytania serwlet przekierowuje zapytanie do odpowiedniej strony JSP. To, w jaki sposób określone jest jaką stronę wyświetlić w dużym stopniu zależy od aplikacji.
Atutem tego modelu jest jeden punkt "wejścia", którym jest serwlet kontrolera (controller servlet). W modelu tym bardzo łatwo odróżnić jest logikę biznesową (business logic) od warstwy prezentacji (presentation layer) oraz warstwy przetwarzającej zapytania (controller layer). Rozgraniczenie to nazywane jest MVC (Model-View-Controller).
[edytuj] Model MVC
Jeśli możesz, dodaj je teraz.
Więcej informacji co należy poprawić, być może znajdziesz na odpowiedniej stronie. W pracy nad artykułem należy korzystać z zaleceń edycyjnych. Po naprawieniu wszystkich błędów można usunąć tę wiadomość.
Możesz także przejrzeć pełną listę stron wymagających dopracowania.
Model ten jest ważny ponieważ oddziela obowiązki spoczywające na aplikacji sieciowej. Gdyby pozwolić stronom JSP otrzymywać zapytania, wykonywać logikę biznesową, określić które strony wyświetlać, można stworzyć stronę JSP, która będzie bardzo skomplikowana, a jej administracja to czyste szaleństwo. Dużo łatwiej jest rozdzielić obowiązki pomiędzy komponenty aplikacji, tworząc w ten sposób jasny podział obowiązków.
[edytuj] Skład Modelu MVC
MODEL – odpowiedzialny za logikę i stany biznesowe
W zależności od architektury jakiej używa dana aplikacja, warstwa ta może przybierać różne formy. W aplikacji dwupoziomowej (two tier), gdzie poziom sieci web (web tier) współpracuje bezpośrednio z bazą danych, może to być zestaw obiektów Java (także POJO – Plain Old Java Objects). W bardziej skomplikowanej aplikacji model będzie oparty np. na technologii EJB (Enterprise Java Beans). Połączenie warstwy modelu i widoku (model and view) służą budowaniu dynamicznej zawartości stron JSP.
VIEW (widok) – warstwa prezentacji
Na poziomie sieci web warstwa widoku zazwyczaj składa się ze stron HTML oraz JSP. Te pierwsze służą do prezentacji zawartości statycznej, podczas gdy strony JSP mogą prezentować zarówno zawartość dynamiczną, jak i statyczną. Większość zawartości dynamicznej przygotowana jest w warstwie sieci web, z wyjątkiem aplikacji wymagających wykonania kodu po stronie klienta, jak JavaScript, ale ta część nie wchodzi w skład MVC.
CONTROLLER (kontroler) – warstwa sterująca przepływem i stanem zapytań klienta
Warstwa kontrolera web jest zawarta w serwlecie. Jej role to:
- przyjmowanie zapytań HTTP od klienta
- konwersja zapytań na specyficzne operacje biznesowe
- wywoływanie operacji biznesowych lub delegowanie ich do innych części aplikacji
- podejmowanie decyzji który widok zwrócić klientowi po skończeniu operacji
- zwrócenie widoku klientowi
Front Controller, który jest częścią J2EE, opisuje jak powinna być zaprojektowana warstwa web. Ponieważ wszystkie zapytania i odpowiedzi HTTP przechodzą przez kontroler, dużo łatwiej jest wprowadzić nowe funkcje. Kod, który trzeba by było dołączyć do każdej strony JSP, można zastąpić kodem w serwlecie kontrolera. Kontroler ten pomaga również oddzielić komponenty prezentacji od operacji biznesowych, ułatwiając rozwój aplikacji.