DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz czytać Dzwon?
Bez spamu

Java Servlet to program po stronie serwera napisany w języku programowania o tej samej nazwie, który odbiera sygnały klienta i odsyła do niego odpowiedzi. Jest to kluczowy element konstrukcyjny w typowej Java EE, oprócz JSP, EJB, XML i innych powiązanych technologii. Aplikacja może być spakowana w pliku WAR (chive Web AR) w celu wdrożenia na serwerze WWW. Serwer, na którym można uruchomić serwlet Java, nazywany jest kontenerem. Program działający na takim serwerze może tworzyć dynamiczne strony internetowe.

Serwlet Java: podstawy

Najpopularniejszymi i najczęściej używanymi kontenerami są Tomcat i JBoss. Technicznie rzecz biorąc, Servlet jest normalną klasą Javy, która ma rozszerzenie dla protokołu Common Client Server Protocol lub HTTP. W praktyce jest używany do przetwarzania żądań odpowiednio przez nadpisania HttpServlet GET i POST. Kontener Java Servlet udostępnia Http.ServletRequest i Http.ServletResponse, które są obiektami typu żądanie-odpowiedź. I jest zwykle używany w połączeniu z JSP do generowania zawartości dynamicznej.

Typowy scenariusz modelu:

  • JSP przedstawia użytkownikowi formularz do wprowadzenia danych.
  • Aplet otrzymuje dane wejściowe, przetwarza je i wysyła odpowiedź.
  • Do pracy wysokiej jakości używa specjalnych filtrów.
  • Filtry serwletów Java to wtyczki Java, które służą do przechwytywania i przetwarzania żądań przed ich wysłaniem do serwletów i odpowiadania po zakończeniu kodu oraz przed wysłaniem przez kontener odpowiedzi do klienta.

    Typowe zadania wykonywane za pomocą filtrów:

  • Rejestracja parametrów zapytania do rejestracji plików.
  • Uwierzytelnianie i autoryzacja żądań zasobów.
  • Formatowanie treści lub nagłówka żądania przed wysłaniem go do serwletu.
  • Kompresja danych odpowiedzi wysyłanych do klienta.
  • Zmiana odpowiedzi, dodanie kilku ciasteczek.
  • Informacje nagłówka serwletu Java.
  • Filtry są połączone i skonfigurowane w pliku deskryptora wdrażania (web.xml). Serwlety i filtry nie znają się nawzajem, więc możesz dodać lub usunąć filtr po prostu edytując web.xml. Dozwolone jest posiadanie wielu filtrów dla pojedynczego zasobu, tworzenie łańcucha filtrów dla web.xml lub uruchamianie filtrów Java Servlet poprzez implementację interfejsu javax.servlet.Filter.

    Żądania równoległe do serwera są przetwarzane przez wątki, co zapewnia ważne cechy sieci - wielowątkowość i współbieżność.

    Główne funkcje:

  • Ruchliwość. Ponieważ Java jest niezależna od platformy, to samo dotyczy serwletów. Na przykład, możesz utworzyć go w systemie operacyjnym Windows, aby programiści GlassFish używali go jako serwera WWW, a następnie mogli uruchamiać go na dowolnym innym systemie operacyjnym, takim jak Unix, Linux z serwerem WWW Apache Java Servlet. Ta funkcja sprawia, że ​​jest przenośny i jest to jego główna przewaga nad CGI.
  • Wydajność i skalowalność. Gdy Servlet zostanie wdrożony i przesłany na serwer WWW, może natychmiast rozpocząć wykonywanie żądań klientów. Jest wywoływany przez lekki wątek, dzięki czemu wiele żądań klientów może być wypełnianych w tym samym czasie przy użyciu funkcji wielowątkowości Java. W przeciwieństwie do CGI, gdzie serwer inicjuje nowy proces dla każdego żądania klienta.
  • Niezawodność. Dziedzicząc najważniejsze funkcje Java, takie jak zbieranie śmieci, obsługa wyjątków, Java Security Manager i inne, jest mniej podatny na problemy z zarządzaniem i wycieki pamięci. Dzięki temu rozwój aplikacji w nim jest bezpieczny i bezbłędny.
  • Potrzeba dynamicznych stron internetowych

    Istnieje wiele powodów, dla których firma chciałaby tworzyć dynamiczne strony internetowe w locie, na przykład gdy dane na stronie często się zmieniają. Witryny z wiadomościami i pogodą zazwyczaj polegają na CGI, aby zachować aktualność treści bez konieczności ciągłej uwagi programistów. Strony internetowe e-commerce, które zawierają aktualne ceny i stany magazynowe, wykorzystują CGI do pobierania tych treści na żądanie z wewnętrznej infrastruktury firmy.

    Wielu użytkowników ma doświadczenie w używaniu technologii Java do tworzenia usług internetowych opartych na CGI, ale Serwlety Java są wydajniejsze, wydajniejsze, łatwiejsze w użyciu i tańsze niż tradycyjne alternatywy CGI.

    Korzyści z serwletów Java:

  • Efektywność. W tradycyjnym CGI każde żądanie HTTP uruchamia nowy proces CGI. Nawet jeśli jego kod jest dobrze zaimplementowany, często występuje znaczne obciążenie, nie tylko podczas uruchamiania procesu, ale także podczas jego wykonywania. Gdy używane są serwlety, JVM pozostaje załadowana w pamięci, a każde żądanie jest przetwarzane przez wątek Java. Na przykład Java Servlet, jeśli w tradycyjnym modelu CGI jest X liczba jednoczesnych żądań, oznacza to, że kod programu jest ładowany do pamięci X razy. Staje się to nadmiernym obciążeniem serwera WWW. Jednak w środowisku serwletów istnieje X wątków, w których działa tylko jedna kopia jego klasy. Skutkuje to zwiększoną wydajnością i skalowalnością na wielu platformach.
  • Wygoda. Podczas korzystania z programu nie ma sensu uczyć się nowego języka, na przykład Perla, tylko po to, by wykonywać funkcje CGI. Ponadto serwlety posiadają rozbudowaną infrastrukturę do wielu zadań związanych z HTML, co znacznie przyspiesza proces rozwoju.
  • Moc - Niestety tradycyjne skrypty CGI pozostawiają wiele do życzenia. Na przykład ich zwykłe programy nie mogą komunikować się bezpośrednio z serwerami WWW, co oznacza, że ​​należy stworzyć cały interfejs. Serwlety mogą komunikować się bezpośrednio z serwerami WWW, upraszczając operacje wymagające bezpośredniego dostępu do magazynów danych. Są również wyjątkowe, ponieważ mogą komunikować się z innymi serwletami i utrzymywać informacje między żądaniami, dzięki czemu śledzenie sesji jest niezwykle łatwe.
  • Przenośność Java rozciąga się bezpośrednio na serwlety. W rzeczywistości prawie każdy obecnie używany główny serwer WWW obsługuje serwlety Java bezpośrednio lub za pośrednictwem wtyczki.
  • Gospodarka. Z punktu widzenia programisty implementacja serwletów jest znacznie tańsza niż inne opcje, które wymagają niestandardowego kodowania, aby poprawnie współdziałać z serwerami sieciowymi. Przekierowanie Java Servlet jest gotowe do użycia i może utrzymać wartość biznesową na jak najniższym poziomie bez poświęcania korzyści płynących z dynamicznej zawartości.
  • Jedną z najprzyjemniejszych cech Javy jest jej wieloaspektowy charakter. Oczywiście budowanie tradycyjnych aplikacji stacjonarnych, a nawet mobilnych jest świetne. Ale co, jeśli chcesz zejść z utartej ścieżki i wkroczyć na terytorium tworzenia aplikacji webowych w Javie? Dobra wiadomość dla Ciebie: język jest dostarczany z pełnym API Servlet, który pozwala na tworzenie solidnych aplikacji internetowych bez większego wysiłku.

    Pisanie aplikacji Java za pomocą serwletów

    Stworzyliśmy więc już pliki konfiguracyjne dla 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 będą wyświetlać powyższy formularz i dane klienta po pomyślnej rejestracji. To właśnie zamierzamy teraz zrobić.

    Pracujemy nad wyglądem

    O wyglądzie aplikacji decydują dwa pliki JSP - w kontekście MVC są to tak zwane widoki. Pierwszy będzie odpowiedzialny za wyświetlenie formularza rejestracyjnego i ewentualne błędy powstałe po sprawdzeniu wprowadzonych danych. Drugim będzie zwykła strona powitalna, na której będą widoczne 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).

    DZWON

    Są tacy, którzy czytają tę wiadomość przed tobą.
    Zapisz się, aby otrzymywać najnowsze artykuły.
    E-mail
    Nazwa
    Nazwisko
    Jak chcesz czytać Dzwon?
    Bez spamu