Co to jest Java Servlet?

Czytałem wiele artykułów, aby zrozumieć java servlet, ale nie udało mi się.

Czy mógłbyś podać krótkie wprowadzenie serwletów Javy (w łatwym języku). Czym jest servlet? Jakie są zalety? I to wszystko.

Nie rozumiem różnicy między językami programowania po stronie serwera (PHP, ASP) a serwletami.

Author: Matthias, 2011-08-27

10 answers

Servlet jest po prostu klasą, która odpowiada na określony typ żądania sieciowego - najczęściej żądanie HTTP. Zasadniczo serwlety są zwykle używane do implementacji aplikacji internetowych - ale istnieją również różne frameworki, które działają na serwletach (np. Struts), aby dać abstrakcję wyższego poziomu niż poziom "here' s an HTTP request, write to this HTTP response", który zapewnia serwlety.

Serwlety działają w kontenerze serwletów , który obsługuje stronę sieciową (np. parsowanie żądania HTTP, obsługa połączeń itp.). Jednym z najbardziej znanych kontenerów serwletów open source jest Tomcat.

 236
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-21 10:27:33

Servlet jest klasą Javy, która może obsługiwać żądania HTTP. Zazwyczaj wewnętrzne problemy z odczytaniem żądania HTTP i odpowiedzi przez przewód są rozwiązywane przez kontenery takie jak Tomcat. Odbywa się to tak, że jako programista po stronie serwera możesz skupić się na tym, co zrobić z żądaniem HTTP i odpowiedziami, a nie martwić się o radzenie sobie z kodem, który dotyczy sieci itp. Kontener zajmie się takimi sprawami jak zawijanie całości w obiekt odpowiedzi HTTP i wysłać go do klienta (powiedzmy przeglądarki).

Teraz kolejne logiczne pytanie, które należy zadać, to kto decyduje, co ma zrobić kontener? A odpowiedź brzmi: W Java world przynajmniej jest kierowany (zauważ, że nie użyłem słowa controlled) przez specyfikacje. Na przykład Specyfikacja Servleta (patrz Zasób 2) określa, co musi być w stanie zrobić servlet. Więc jeśli możesz napisać implementację do specyfikacji, gratulacje, że właśnie stworzyłeś kontener (technicznie kontenery takie jak Tomcat wdraża również inne specyfikacje i robi trudne rzeczy, takie jak niestandardowe ładowarki klas itp., ale masz pomysł).

Zakładając, że masz kontener, Twoje servlety są teraz klasami Javy, których cykl życia będzie utrzymywany przez kontener, ale ich reakcja na przychodzące żądania HTTP będzie zależeć od Ciebie. Robisz to, pisząc to, co chcesz zrobić w predefiniowanych metodach, takich jak INIT(), doGet (), doPost () itp. Spójrz na zasób 3.

Oto zabawne ćwiczenie dla Ciebie. Stwórz prosty servlet jak w zasobie 3 i napisać kilka System.Wynocha.instrukcje println () w metodzie konstruktora (Tak, możesz mieć konstruktor servletu), metodach INIT(), doGet (), doPost () i uruchomić servlet w tomcat. Zobacz dzienniki konsoli i dzienniki tomcat.

Mam nadzieję, że to pomoże, szczęśliwej nauki.

Zasoby

  1. Zobacz jak wygląda serwer HTTP tutaj (przykład Tomcat).

  2. Servlet Specyfikacja .

  3. Prosty Servlet przykład.

  4. Zacznij czytać książkę online / PDF Zapewnia również pobranie całej książki. Może to pomoże. jeśli dopiero zaczynasz servlety, może to być dobry pomysł, aby przeczytać materiał wraz z API servlet. jest to wolniejszy proces uczenia się, ale jest o wiele bardziej pomocny w zrozumieniu podstaw.

 66
Author: Ayusman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-28 21:13:23

W uzupełnieniu do powyższego, i tylko zwrócić uwagę na bleedin' oczywiste...

Dla wielu jest to bardzo oczywiste, ale dla kogoś przyzwyczajonego do pisania aplikacji, które są po prostu uruchamiane, a następnie kończone: servlet spędza większość swojego czasu siedząc bezczynnie... czekając na wysłanie czegoś, prośby, a następnie odpowiadając na to. Z tego powodu servlet ma całe życie: jest initalizowany, a następnie czeka, reagując na wszystko, co w niego rzuca, a następnie jest niszczony. Co oznacza, że musi być tworzone (a później niszczone) przez coś innego (framework), że działa we własnym wątku lub procesie, i że nie robi nic, chyba że poprosi. A także, że w jakiś sposób lub w inny sposób, musi zostać zaimplementowany mechanizm, dzięki któremu ta " jednostka "może" słuchać " żądań.

Sugeruję, że czytanie o wątkach, procesach i gniazdach rzuci trochę światła na to: jest to zupełnie inne niż sposób, w jaki działa podstawowa aplikacja "hello world".

Można by argumentować, że określenie "serwer" lub "servlet" to trochę przesada. Bardziej racjonalną i prostszą nazwą może być "responder".

 20
Author: mike rodent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 19:43:46

Jeśli jesteś początkujący, myślę, że ten tutorial może dać podstawowe pojęcie o Czym jest Servlet ...

kilka cennych punktów znajduje się poniżej z podanego linku.

Technologia Servlet służy do tworzenia aplikacji webowej, która znajduje się po stronie serwera i generuje dynamiczną stronę www.

Servlet można opisać na wiele sposobów, w zależności od kontekstu.

  • Servlet jest technologią, czyli służącą do tworzenia stron www podanie.
  • Servlet jest API, które zapewnia wiele interfejsów i klas, w tym dokumentacje.
  • Servlet jest interfejsem, który musi być zaimplementowany do tworzenia dowolnego servlet.
  • Servlet to klasa rozszerzająca możliwości serwerów i odpowiedz na przychodzące żądanie. Może reagować na każdy rodzaj prośby.
  • Servlet jest komponentem WWW, który jest wdrażany na serwerze w celu utworzenia dynamiczna strona www. Odniesienie: Tutaj .
 4
Author: Sandun Madola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-23 06:29:03

Servlet jest technologią po stronie serwera, która służy do tworzenia dynamicznej strony www w aplikacji webowej. W rzeczywistości servlet jest api, które składa się z grupy klas i interfejsów, które mają pewną funkcjonalność. Kiedy używamy Servlet API możemy używać predefiniowanych funkcjonalności klas i interfejsów servleta.

Cykl życia Servleta:

Web container utrzymuje cykl życia wystąpienia servleta.

1 . Klasa Servlet loaded

2 . Utworzona instancja servleta

3 . wywołana jest metoda INIT ()

4 . wywołana metoda service ()

5 . wywołana metoda destroy ()

Gdy żądanie wywołania przez Klienta(przeglądarkę), web-container sprawdza, czy servlet jest uruchomiony, czy nie, jeśli tak, to wywołuje metodę service() i daje odpowiedź przeglądarce..

Gdy servlet nie jest uruchomiony, to web-container wykonuje następujące czynności..

1. classloader load the Klasa servlet

2. Tworzy instancję servlet

3. Inicjalizuje servlet

4.wywołanie metody service ()

Po obsłużeniu żądania web-container czeka na określony czas, w tym czasie jeśli żądanie nadejdzie, to wywoła tylko metodę service (), w przeciwnym razie wywoła metodę destroy ()..

 3
Author: Navnath Adsul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-12 04:55:23

Java Servlets są modułami programów Java po stronie serwera, które obsługują i odpowiadają na wymagania klientów oraz aktualizują interfejs servleta. Pomaga w poprawie użyteczności serwera WWW przy znikomym obciążeniu, utrzymaniu i wsparciu.

Servlet działa jako mediator między Klientem a serwerem. Ponieważ moduły servlet działają na serwerze, mogą uzyskać i reagować na wymagania stawiane przez Klienta. Obiekty popytu i reakcji serwletu oferują pomocną metodę radzenia sobie z HTTP prosi o informacje o treści i wysyła je z powrotem do klienta.

Ponieważ servlet jest skoordynowany z dialektem Javy, dodatkowo posiada wszystkie najważniejsze cechy Javy, na przykład wysoką ruchomość, autonomię sceny, Bezpieczeństwo i dostępność baz danych Java.

 2
Author: Poorna Senani Gamage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-03 17:52:49

Servlet to klasa java odpowiadająca na żądanie HTTP i wytwarzająca odpowiedź HTTP...... gdy tworzymy stronę z użyciem HTML to będzie to strona statyczna więc aby uczynić ją dynamiczną używamy SERVLET {w prostych słowach można zrozumieć} Aby skorzystać z servlet jest overcomed przez JSP używa kodu i znacznika HTML zarówno w sobie..

 1
Author: Roopam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-14 09:47:38

Co To jest Servlet?

  • servlet jest po prostu klasą, która odpowiada na określony typ żądania sieciowego - najczęściej żądanie HTTP.
  • zasadniczo serwlety są zwykle używane do implementacji aplikacji internetowych - ale istnieją również różne frameworki, które działają na serwletach (np. Struts), aby dać abstrakcję wyższego poziomu niż poziom "here' s an HTTP request, write to this HTTP response", który zapewnia serwlety.
  • Servlety uruchamiane w kontener serwletów obsługujący stronę sieciową(np. parsowanie żądania HTTP, obsługa połączeń itp.). Jednym z najbardziej znanych kontenerów serwletów open source jest Tomcat.

  • W paradygmacie żądania/odpowiedzi serwer WWW może obsługiwać tylko statyczne strony do klienta

  • Aby Obsługiwać dynamiczne strony, a wymagamy Servletów.
  • Servlet to nic innego jak program Java
  • Ten program Java nie ma głównej metody. Ma tylko kilka metod oddzwaniania.
  • Jak czy serwer WWW komunikuje się z serwletem? Poprzez pojemnik lub silnik Servlet.
  • Servlet żyje i umiera w kontenerze sieciowym.
  • web container jest odpowiedzialny za wywoływanie metod w serwletach. Wie, jakie metody wywołania zwrotnego ma serwlet.

Flow of Request

  • Klient wysyła żądanie HTTP do serwera www
  • Web server przekazuje żądanie HTTP do web containera.
  • ponieważ Servlet nie rozumie HTTP, jego program Java, to rozumie tylko obiekty, więc Web container konwertuje to żądanie na poprawny obiekt request
  • web container obraca wątek dla każdego żądania
  • Cała logika biznesowa znajduje się wewnątrz metod wywołania zwrotnego doGet() lub doPost() wewnątrz serwletów
  • Servlet buduje obiekt odpowiedzi Javy i wysyła go do kontenera. Konwertuje to ponownie na odpowiedź HTTP, aby wysłać ją do klienta

Skąd kontener wie, który klient Servletów zażądał za co?

    Jest plik o nazwie web.xml
  • jest to plik główny dla kontenera internetowego
  • W tym pliku masz informacje o servlet -

    • servlets
      • Servlet-nazwa
      • Klasa Servlet
    • servlet-mappings - ścieżka jak / Login lub / Notifications jest mapowana tutaj w
      • Servlet-nazwa
      • url-wzorzec
    • i tak dalej
  • Każdy servlet w aplikacja internetowa powinna mieć wpis do tego pliku

  • więc to wyszukiwanie dzieje się jak-url-pattern- > servlet-name- > Servlet-class

Jak "zainstalować" serwlety? * Cóż, obiekty servlet są dziedziczone z biblioteki-javax.servlet.* . Tomcat i Spring mogą być użyte do wykorzystania tych obiektów, aby pasowały do przypadku użycia.

Ref-Obejrzyj to na 1.5 x - https://www.youtube.com/watch?v=tkFRGdUgCsE . To ma świetne Wyjaśnienie.

 0
Author: Sankalp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 06:19:46

Myślę, że servlet jest w zasadzie klasą Javy, która działa jako środek pomiędzy żądaniem HTTP a odpowiedzią HTTP.Servlet jest również używany do dynamicznej strony internetowej. Załóżmy, że na przykład, jeśli chcesz przekierować na inną stronę na serwerze, musisz użyć servletów. Inną ważną rzeczą jest to, że servlet może działać zarówno na localhost, jak i przeglądarce internetowej.

 -1
Author: Roopam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-13 20:06:34

Właśnie dostałeś odpowiedź na zwykły servlet. Jednak chciałbym podzielić się z wami czymś na temat Servleta 3.0

Czym jest najpierw Servlet?

Servlet jest Web komponentem zarządzanym przez kontener i generuje dynamiczną zawartość. Servlety to Klasy Javy, które są kompilowane do kodu bajtowego, który może być dynamicznie ładowany i uruchamiany przez Javę serwer WWW z obsługą technologii lub kontener Servlet.

Servlet 3.0 to aktualizacja do istniejąca Specyfikacja Servlet 2.5. Servlet 3.0 wymagane API platformy Java, Enterprise Edition 6. Servlet 3.0 koncentruje się na rozszerzalności i web framework możliwość podłączenia. Servlet 3.0 wprowadza kilka rozszerzeń, takich jak łatwość Rozwój (EoD), Pluggability, asynchroniczne wsparcie i bezpieczeństwo Enhancements

Łatwość rozwoju

Możesz deklarować Servlety, Filter, Listeners, Init Params i prawie wszystko można skonfigurować za pomocą adnotacje

Pluggability

Możesz utworzyć podprojekt lub moduł z fragmentem www.xml. Informatyka oznacza, że pozwala na realizację wymagań funkcjonalnych niezależnie.

Obsługa Async

Servlet 3.0 zapewnia możliwość przetwarzania asynchronicznego, dla przykład: oczekiwanie na udostępnienie zasobu, generowanie odpowiedź asynchronicznie.

Ulepszenia Zabezpieczeń

Obsługa zabezpieczeń serwletów uwierzytelniania, logowania i wylogowania metody

Znalazłem go z Java Servlet Tutorial

 -2
Author: David Pham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-08 08:09:58