Wstęp do Javy Web

Podstawowe pojęcia

Zajmiemy się teraz tworzeniem aplikacji webowych w Javie. Wszystko opiera się na istnieniu serwera, który otworzy port 80 (usługa HTTP), i przekaże żądanie do jakiejś klasy zdolnej do przyjęcia tego rodzaju obiektu i do wygenerowania odpowiedzi. Taką w klasą w Javie jest HttpServlet. Aplikacja webowa musi zostać zainstalowana na jakimś serwerze (lub kontenerze serwletów) i dopiero tam można ją uruchomić. O ile kompilacja aplikacji desktopowych tworzy paczkę z rozszerzeniem JAR, o tyle kompilacja aplikacji webowej tworzy paczkę z rozszerzeniem WAR. Java Web to część Javy Enterprise Edition. Założyłem, że czytelnik posiada podstawową wiedzę z zakresu HTML i CSS, a także podstawę protokołu HTTP (np. znajomość różnicy między żądaniami typu GET i POST)

Przygotowanie środowiska

Jak wynika z powyższego podrozdziału na pewno będziemy potrzebować jakiegoś serwera. W rzeczywistości środowisko musi posiadać dużo więcej modułów. Skonfigurowanie środowiska NetBeans na szczęście sprowadza się tylko do ściągnięcia pliku instalacyjnego z oficjalnej strony IDE - https://netbeans.org/downloads/index.html:

Jeśli posiadasz już zainstalowane NetBeans IDE do Javy SE, nie musisz go odinstalowywać. NetBeans wykryje obecną instalację i doinstaluje odpowiednie moduły. Sam proces instalacji jest całkowicie standardowy. Ważne jest aby zainstalować razem z NetBeans IDE serwer GlassFish. Dzięki temu nie będziemy musieli tracić czasu na instalowanie zewnętrznego serwera, jego skonfigurowanie i integrowanie ze środowiskiem.

Tworzenie aplikacji webowej w NetBeans

Po doinstalowaniu modułów do środowiska, wybieram tworzenie nowego projektu. W menu pojawią się nowe opcje:

Pierwszy ekran to wybór nazwy naszego projektu. Drugi to wybór serwera na który NetBeans będzie deploy’ował naszą aplikację. Context path to ścieżka pod jaką aplikacja będzie widoczna w sieci. Te opcje pozostawimy domyślne:

Ostatni ekran to wybór framework’ów, które zostaną automatycznie dołączone i skonfigurowane w naszym projekcie. Na tym ekranie nie wybieramy żadnego framework’a, będziemy pisać w czystej Javie. W końcu po kliknięciu finish w panelu projektów pojawi się nowy wpis:

Tak wygląda podstawowa struktura projektu. W katalogu Web Pages znajdują się wszystkie pliki potrzebne do poprawnego działania dokumentów HTML odpowiedzialnych za widoki. Znajduje się w nim katalog WEB-INF w którym umieszczamy pliki konfiguracyjne aplikacji, użytkownik nigdy nie ma dostępu do katalogu WEB-INF. Zawsze znajdziemy tam plik web.xml czyli tzw. plik deskryptora – jest to w zasadzie najważniejszy plik w całej aplikacji. Omówimy go bardzo dokładnie. Katalog Source Packages to dobrze znana nam część aplikacji w której znajdują się pliki z kodem źródłowym. Jeśli chodzi o sekcję Libraries zwróć uwagę, że w pustym projekcie poza bibliotekami z JDK znajdują się też biblioteki z serwera aplikacyjnego, dzięki którym uruchomimy specjalne klasy charakterystyczne dla aplikacji webowych. Aplikację uruchamiamy dokładnie tak samo jak w przypadku aplikacji desktopowych przyciskiem Run Project z toolbar’a w NetBeans. Proces jest jednak bardziej złożony od programów Java SE, trakcie uruchamiania aplikacji webowych projekt jest kompilowany, budowana jest paczka (plik WAR), uruchamiany jest serwer i w końcu paczka zostaje zainstalowana na serwerze.

W przeglądarce zostanie uruchomiona nowa karta z naszą aplikacją – oczywiście wyświetli się zawartość pliku index.html.

Właśnie stworzyliśmy najprostszą, działającą aplikację działającą w interfejsie webowym. Gratulacje!

Ten artykuł jest elementem poniższych kursów: