serwlety. Tworzenie aplikacji Java z serwletami Podstawy serwletów

serwlet - to Java-nporpaMMa, która używa klasy HttpSerwis. Serwlet służy do rozszerzenia możliwości istniejącego serwera, w szczególności serwera WWW. Zwykle serwlet działa na serwerze dedykowanym. Serwery te nazywane są serwerami aplikacji Java. Serwer aplikacji Java zawiera jako element konstrukcyjny serwer WWW (czasem nie jeden, ale kilka), a także serwery współpracujące z komponentami serwera, serwery usług pomocniczych itp. Serwlet działa w środowisku dostarczonym przez serwer. Część serwera przeznaczona do obsługi serwletów nazywana jest kontenerem serwletów. Specyfikacja serwletu zakłada, że ​​klasa serwletu ma standardowe metody, które są wykonywane w pewnym momencie cyklu życia serwletu. Metody te są wywoływane przez kontener serwletu. Implementacja specyfikacji serwletu jest zawarta w zestawie standardowych pakietów językowych Java.

Ta książka skupia się na serwerze aplikacji Java o nazwie Blazix. Serwer Blazix zapewnia pełny zestaw możliwości serwletów. Oprócz utworzenia klasy serwletu (lub klas), a także skonfigurowania utworzonego programu serwletu i zainstalowania go na serwerze, należy zmienić plik konfiguracyjny serwera WWW. Główne wartości są określone w pliku konfiguracyjnym w następujący sposób: servlet.name: myservlet

servlet.myservlet.className: mypackage.MyServletClass servlet.myservlet.url: /mysrvlet

Każdy serwlet musi mieć nazwę(servlet.name), za pomocą którego jest identyfikowany na serwerze. Ta nazwa służy do ustawienia właściwości serwletu, w szczególności do wskazania nazwy klasy, w której przechowywany jest program serwletu (następna linia), a także adresu, pod którym ten serwlet jest wywoływany (trzecia linia).

Klient pyta serwer WWW o adres, pod którym znajduje się serwlet (adres musi być określony jako wartość servlet.myservlet.url w pliku konfiguracyjnym serwera WWW). Serwer przekazuje żądanie i dane (jeśli istnieją) do serwletu, odbiera odpowiedź od serwletu i wysyła ją do klienta.

Na tym wyjaśnieniu, czym jest serwlet, można by zakończyć. Istnieje jednak wiele interesujących i przydatnych szczegółów, na które należy zwrócić uwagę i przestudiować je bardziej szczegółowo.

Szczególnie ważne jest, aby pamiętać, że ścieżka klasy serwletu musi być określona w zmiennej ciasspath lub można go umieścić w katalogu C:\Blazix\classes lub w katalogu określonym w pliku konfiguracyjnym serwera WWW jako wartość server.ciassDir. Po zmodyfikowaniu pliku konfiguracyjnego w celu uwzględnienia informacji o nowym aplecie należy zatrzymać i ponownie uruchomić serwer. Serwlet może być również hostowany na działającym serwerze za pomocą narzędzia administracyjnego, ale aby to zrobić, serwlet musi być spakowany w pliku archiwum WAR Web. Jeśli plik klasy serwletu uległ zmianie, nie ma potrzeby zatrzymywania i ponownego uruchamiania serwera. Domyślnie serwer jest skonfigurowany w taki sposób, że wywołanie serwletu pod adresem http://localhost:81/_reload powoduje ponowne załadowanie wszystkich klas i udostępnienie zmodyfikowanej klasy serwletu dla żądań klientów (rysunek 4.1). Odwiedź tę stronę po zmodyfikowaniu pliku klasy serwletu. Zatrzymanie serwera po prostu nie jest konieczne.

Jeśli czytelnik miał już pewne doświadczenie z serwletami, doceni prostotę serwera Blazix w porównaniu z innymi serwerami Java, takimi jak serwer Tomcat.

Aby od razu przejść do rzeczy, rozważmy prosty przykład, serwlet jakiś serwlet (listing 4.1).

Lista 4.1. Servlet SomeServlet.java I

importuj java.io.*; import javax.servlet.*; importuj javax.servlet.http.*;

klasa publiczna SomeServlet rozszerza HttpServlet ( public void doGet(HttpServletRequest request,

HttpServletResponse response) zgłasza ServletException, IOException ( Printwriter out = response.getWriter(); out.println("Hello World");

W pliku konfiguracyjnym serwera WWW wpisz:

nazwa.servletu: pierwszy

nazwa.pierwszej.klasy serwletu: Jakiśserwlet

servlet.first.url: /dofirst

Wtedy wywołanie serwletu z przeglądarki przybierze postać http://lokalnyhost:81 /dofirst (Rysunek 4.2).

Serwlety Javy zapewniają niezależną od platformy metodę budowania aplikacji internetowych (nie jest to pewne, ale nie będziemy zagłębiać się w ten temat, ponieważ wtedy musielibyśmy zdefiniować, co należy rozumieć przez aplikację internetową, która nie jest zawarta w lista poruszanych tematów), a wiele aplikacji działa szybko i nie ma ograniczeń aplikacji CGI. Serwlet działa pod serwerem WWW iw przeciwieństwie do apletu nie wymaga graficznego interfejsu użytkownika. Serwlet komunikuje się z serwerem, wymieniając z nim żądania i odpowiedzi. Program kliencki wysyła żądania do serwera. Żądanie jest przetwarzane przez serwer, przekazywane do serwletu, serwlet wysyła odpowiedź za pośrednictwem serwera do klienta. Serwlety są dziś bardzo popularne do tworzenia interaktywnych aplikacji internetowych. Istnieje wiele serwerów WWW, które mogą współpracować z serwletami, na przykład Tomcat, iPlanet Web Server (wcześniej Netscape

Enterprise Server), Blazix. J Builder Enterprise korzysta z Borland Enterprise Server (BES) dołączonego do pakietu, a także obsługuje serwery WWW Logika, WebSphere i iPlanet. J Builder Enterprise Server zawiera serwer Tomcat, który jest używany „domyślnie”.

Ryż. 4.2. Wywoływanie serwletu

Jedną z ważnych zalet serwletów jest ich szybkość. W przeciwieństwie do aplikacji CGI, serwlety są ładowane do pamięci tylko raz, a następnie wykonywane bezpośrednio z pamięci. Serwlety to zasadniczo aplikacje wielowątkowe. Ponadto są niezależne od platformy, ponieważ są napisane w Javie.

technologia JSP do której Rozdział 3 jest rozszerzeniem technologii serwletów w JSP Specjalna uwaga koncentruje się na pracy z dokumentami HTML i XML. Jako część kodu HTML i XML, fragmenty JSP znajdują swoje najpowszechniejsze zastosowanie. Jak dokonać wyboru i zdecydować, czego użyć: serwletów czy stron serwera? Serwlety są bardziej odpowiednie do rozwiązywania zadań programowania niskiego poziomu i mniej odpowiednie do rozwiązywania zadań związanych z tworzeniem logiki prezentacji aplikacji. Z drugiej strony strony JSP po stronie serwera skupiają się głównie na tym, jak najwygodniej przedstawić użytkownikowi wynik. Strony serwera są tworzone bezpośrednio z kodem HTML przy użyciu stylu tworzenia dokumentów HTML. Technologia JSP zapewnia znacznie bogatsze funkcje niż zwykły HTML. JSP mogą zapewnić możliwość implementacji logiki aplikacji przy użyciu prostych komponentów Java, jak również EJB po stronie serwera, poprzez tworzenie niestandardowych bibliotek skrótów. Same strony serwera Java mogą być modułowymi komponentami wielokrotnego użytku, które współpracują z logiką prezentacji i mogą być używane w połączeniu z różnymi szablonami i filtrami. Strony JSP są konwertowane na serwlety, więc teoretycznie można używać tylko serwletów. Jednak technologia JSP została zaprojektowana w celu uproszczenia procesu tworzenia dokumentów internetowych poprzez oddzielenie logiki prezentacji aplikacji od zawartości dokumentu. W większości przypadków odpowiedź wysyłana do klienta składa się zarówno z szablonów prezentacji dokumentów, jak i danych, które są generowane automatycznie po wypełnieniu szablonu. W takich sytuacjach strony JSP są znacznie łatwiejsze w obsłudze niż serwlety.

Jedną z najprzyjemniejszych cech języka Java jest jego wielowymiarowość. Oczywiście tworzenie tradycyjnego pulpitu, a nawet aplikacje mobilne- To jest świetne. Ale co, jeśli chcesz zejść z utartych szlaków i wejść na terytorium programowania Java? Dla ciebie tam dobre wieści: Język jest dostarczany z kompletnym interfejsem API Servlet, który umożliwia tworzenie solidnych aplikacji internetowych bez większych problemów.

Tworzenie aplikacji Java za pomocą serwletów

Stworzyliśmy już pliki konfiguracyjne aplikacji. Jednak w obecnym stanie dosłownie nic nie robi. Chcemy, aby klienci mogli rejestrować się za pomocą formularza HTML, więc następną rzeczą, którą musimy zrobić, jest utworzenie plików JSP, które po pomyślnej rejestracji będą wyświetlać powyższy formularz i dane klienta. To właśnie teraz zrobimy.

Praca nad wyglądem

Wygląd aplikacji definiować będą dwa pliki JSP – w kontekście MVC nazywane są widokami. Pierwszy będzie odpowiedzialny za wyświetlenie formularza rejestracyjnego i możliwe błędy wywoływana po sprawdzeniu poprawności wprowadzonych danych. Druga będzie normalną stroną powitalną, na której zostaną wyświetlone dane wprowadzone przez klienta po pomyślnym zakończeniu procesu rejestracji.

Oto pierwszy plik JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Rejestracja

Rejestracja

$(naruszenie).