Pisaliśmy już o tym, jak uruchamiać normalne aplikacje pod Eclipse, dzisiaj pokażemy, jak zrobić to samo z aplikacjami webowymi.
Sposób uruchamiania aplikacji webowych różni się od standardowych tym, że muszą one być uruchamiane wewnątrz tzw. serwera aplikacji, dlatego cały proces wygląda trochę inaczej. Na szczęście Eclipse zdecydowanie ułatwia nam zadanie.
Zanim zaczniemy
Przed konfiguracją Eclipse warto pobrać najnowszą wersję serwera aplikacji, na którym będziemy pracować. Opcją ‘podstawową’ jest tutaj Apache Tomcat — jest to dość okrojony kontener, który pozwoli nam uruchamiać aplikacje webowe w prosty sposób, a jednocześnie nie obciąży za bardzo komputera.
Najnowszą wersję można pobrać na oficjalnej stronie projektu, wersja 8 wymaga Javy 7 oraz pracuje ze specyfikacją Servler API w wersji 3.1, więcej informacji można znaleźć na stronie https://tomcat.apache.org/whichversion.html.
Apache Tomcat jest oczywiście napisany w języku Java i nie wymaga instalacji — wystarczy rozpakować plik ZIP w dowolnym miejscu na dysku (nie będziemy bezpośrednio korzystali z plików, więc może to być jakiś folder, do którego nie zaglądamy za często).
Okno serwerów aplikacji początkowo powinno być puste, z opcją dodania kolejnego:
Po kliknięciu pojawi się nowe okno z możliwością wyboru rodzaju serwera, jaki chcemy uruchomić.
Ponieważ musimy najpierw skonfigurować serwer, wybieramy opcję ‘Next’.
Kolejnym krokiem jest podanie ścieżki do katalogu, w którym zainstalowany (rozpakowany) jest serwer oraz wybranie używanego JRE. Wygląd tego okna zależy od konkretnego typu serwera aplikacji, który wybraliśmy w poprzednim oknie i pozwala na jego konfigurację.
Uwaga! Jeśli wcześniej już konfigurowałeś ten typ serwera aplikacji, Eclipse pozwoli Ci wybrać istniejącą konfigurację już na poprzednim ekranie.
Po konfiguracji wybieramy opcję ‘Finish’. Przejście dalej przeniesie nas do wyboru aplikacji, które chcemy uruchamiać na tym serwerze, ale uruchomimy go z menu, aby zobaczyć jak to robić już po skonfigurowaniu serwera.
Uruchamianie aplikacji w ramach serwera aplikacji
Masz już skonfigurowany serwer aplikacji :) Teraz należy jeszcze dodać do niego aplikacje, tj powiedzieć, który z otwartych projektów ma być uruchamiany. Robimy to w oknie ‘Add and remove’, do którego możemy dostać się poprzez menu kontekstowe:
W oknie, które się pojawi, po prawej stronie są aplikacje skonfigurowane na wybranym serwerze, a po lewej aplikacje, które są dostępne w naszym workspace. W najprostszym wypadku będzie to lista projektów/modułów Maven, które mają packaging WAR. Elementy możemy przenosić pomiędzy listami za pomocą przycisków.
Po wszystkim zamykamy okno klikając na ‘finish’. Nasz serwer powinien teraz uruchamiać także naszą aplikację, która powinna być wypisana po ‘rozwinięciu’ serwera:
Jak pewnie zauważyłaś, możemy tutaj wyświetlić także zależności, które ten projekt deklaruje, a które są dostępne w naszym workspace.
Teraz nie pozostaje nic innego, jak tylko uruchomić nasz serwer aplikacji, i zweryfikować, czy nasza aplikacja działa tak, jak chcieliśmy :)
Warto tutaj jeszcze wspomnieć, że domyślnie jeśli serwer aplikacji jest uruchomiony, za każdym razem jak zapiszemy jakieś zmiany w projekcie, zmiany zostaną wdrożone i uruchomione na serwerze. Często wymaga to restartu serwera, co może być irytujące — można to jednak wyłaczyć w opcjach serwera.
Ustawienia serwera aplikacji
Domyślnie po dodaniu aplikacji do serwera, jest ona dostępna pod adresem /{nazwa projektu} . Możemy to modyfikować (lub po prostu podejrzeć) w oknie ustawień serwera.
Aby je uruchomić, klikamy dwukrotnie na wybrany serwer aplikacji. Pojawi się okno z dwoma zakładkami — pierwsza pozwala na konfiguracje samego serwera, portów itp, z kolei druga jest dla nas bardziej interesująca — pokazuje wszystkie moduły, które będą uruchamiane wraz z serwerem.
Podsumowanie
Eclipse ma całkiem przyjemne wsparcie dla różnych serwerów aplikacji, konfiguracja jest dość łatwa i bezproblemowa. Niestety czasem zdarzają się problemy, których rozwiązaniem jest najczęściej skonfigurowanie serwera od nowa. Mimo tych niedogodności, korzystanie z serwerów aplikacji nie przynosi większych niedogodności.