Skip to content

1. Wprowadzenie

Plik PDF tego dokumentu jest dostępny pod nazwą |TUTAJ|.

Przykłady zawarte w tym dokumencie są dostępne pod adresem |TUTAJ|.

W niniejszym dokumencie proponujemy zapoznanie się z podstawami programowania stron internetowych MVC w języku Java z wykorzystaniem serwletów i stron JSP. Po przeczytaniu niniejszego dokumentu i przetestowaniu zawartych w nim przykładów czytelnik powinien opanować podstawowe pojęcia związane z programowaniem stron internetowych w języku Java.


Aby lepiej zrozumieć proponowane ćwiczenia, pomocne może okazać się skorzystanie z dokumentu [Wprowadzenie do programowania internetowego w języku Java z wykorzystaniem serwletów i stron JSP (2002)]. Wskazówki dotyczące lektury podane na początku niektórych sekcji odwołują się do tego artykułu. Dokument ten będzie dalej oznaczany jako [ref1].


Z dokumentem tym można korzystać na różne sposoby:

  1. instaluje się narzędzia, pobiera kody ze strony internetowej tego dokumentu i wykonuje proponowane testy. Początkujący programista nic nie wyniesie z takiej metody. Doświadczony programista może to jednak zrobić, jeśli interesuje go wyłącznie przetestowanie środowiska programistycznego Eclipse / WTP.
  1. można zainstalować narzędzia, postępować zgodnie z instrukcjami zawartymi w dokumencie i wykonać proponowane testy, kopiując i wklejając treści z tego dokumentu. Nie należy czytać dokumentu [ref1]. Postępując w ten sposób, zaczniemy przyswajać podstawy tworzenia stron internetowych, ale niektóre kwestie pozostaną niejasne lub „magiczne”. Jest to jedna z możliwych metod, jeśli chcemy działać szybko, z zamiarem pogłębienia wiedzy dopiero później, podczas pisania własnej aplikacji i być może z wykorzystaniem innego dokumentu referencyjnego niż [ref1].
  2. Postępujemy tak samo jak w punkcie 2, ale czytamy dokument [ref1], gdy jest to zalecane. Ta wolniejsza metoda wyeliminuje niektóre niejasne i „magiczne” aspekty metody 2, ale nie przygotowuje dobrze do samodzielnej pracy, ponieważ kody uzyskane poprzez kopiowanie i wklejanie niekoniecznie będą dobrze zrozumiałe.
  3. Postępujemy tak samo jak w punkcie 3, ale wszystkie kody wpisujemy samodzielnie. Jest to oczywiście dłuższe i bardziej żmudne, ale bardzo skuteczne. Aby wpisać kody, trzeba je przeczytać, co wymaga skupienia na kodzie, a tym samym prowadzi do początkowego zrozumienia. Takie ręczne przepisywanie rzadko odbywa się bez błędów. Błędy te, sygnalizowane przez różne narzędzia Eclipse, skłonią czytelnika do zastanowienia się nad napisanym przez siebie kodem, a tym samym do lepszego jego zrozumienia.

Niniejszy dokument zawiera znaczną część artykułu opublikowanego w styczniu 2005 r. pod tytułem „Tworzenie aplikacji internetowych w Javie przy użyciu Eclipse i Tomcat”, dostępnego pod adresem URL [http://tahe.developpez.com/java/eclipse/]. Nowości w stosunku do tego dokumentu są następujące:

  • wykorzystanie wtyczki WTP dla Eclipse do tworzenia aplikacji internetowych,
  • przeorganizowanie dokumentu w celu położenia nacisku na architekturę trójwarstwową MVC, która w pierwotnej wersji została poruszona jedynie pobieżnie,
  • przykład trójwarstwowej aplikacji internetowej MVC wykorzystującej dane z SGBD.

Aplikacja internetowa trójwarstwowa ma następującą strukturę:

  • warstwa [dao] odpowiada za dostęp do danych, najczęściej danych trwałych przechowywanych w ramach SGBD. Mogą to jednak być również dane pochodzące z czujników, sieci itp.
  • warstwa [metier] realizuje algorytmy „biznesowe” aplikacji. Warstwa ta jest niezależna od jakiejkolwiek formy interfejsu użytkownika. Dlatego musi ona działać zarówno z interfejsem konsolowym, jak i internetowym czy bogatym interfejsem klienckim. Musi więc dać się testować poza interfejsem internetowym, a w szczególności za pomocą interfejsu konsolowego. Jest to zazwyczaj najbardziej stabilna warstwa architektury. Nie ulega ona zmianie w przypadku zmiany interfejsu użytkownika lub sposobu uzyskiwania dostępu do danych niezbędnych do działania aplikacji.
  • warstwa [web], czyli interfejs internetowy, który umożliwia użytkownikowi sterowanie aplikacją i otrzymywanie od niej informacji.

Artykuł [http://tahe.developpez.com/java/eclipse/] zawiera jedynie przykłady aplikacji internetowych ograniczających się wyłącznie do warstwy [web]. W niniejszym artykule przedstawiono przykład wykorzystujący wszystkie trzy warstwy.