Cykl życia JSP - Poznaj kroki cyklu życia JSP z przykładami

Spisie treści:

Anonim

Wprowadzenie do cyklu życia JSP

W tym artykule omówimy cykl życia JSP. Strony serwera Java, technologia po stronie serwera, która bierze odpowiedzialność za przetwarzanie na serwerze.

1. Gdzie potrzebujemy JSP?

  • Cóż, jeśli jesteś zainteresowany programowaniem internetowym i widzimy tworzenie dynamicznych stron internetowych, to strony JSP odgrywają istotną rolę, ponieważ renderowanie odbywa się dynamicznie.
  • Strony JSP działają tylko na bazowym HTML, treść strony składa się tylko z podstawowych znaczników HTML, ale istnieją pewne symbole zastępcze, parametry, wartości list, iteratory, które są możliwe tylko w przypadku stron JSP, HTML zapewnia wyświetlanie statyczne tylko przy dowolnych rozdzielczościach do wykonania w czasie wykonywania wymaga dynamicznej obsługi, dlatego strony JSP pojawiają się tam jako rozwiązanie.
  • JSP umożliwia rozdzielenie generowania treści i prezentacji treści

Weźmy tutaj podstawowy przykład, który da ci wyobrażenie o tym dynamicznym renderowaniu.



Treść lub logika wewnątrz są renderowane dynamicznie i są przekazywane tylko przez back-end.

Przejdźmy teraz do przodu i poznajmy cykl życia stron JSP oraz sposób, w jaki są one renderowane w interfejsie użytkownika, aby zapewnić klientowi czytelne lub gotowe wrażenia.

2. Cykl życia JSP:

Istnieją pewne fazy, w których ten cykl jest podzielony, zdefiniowane w następujący sposób -

  1. Faza tłumaczenia - gdy plik JSP zostaje przekonwertowany na plik serwletu.
  2. Faza kompilacji - gdzie plik serwletu jest konwertowany na klasę serwletu.
  3. Ładowanie klasy
  4. Instancja obiektu serwletu
  5. Kontener serwletów wywołuje metodę jspInit () w celu inicjalizacji
  6. Kontener serwletu wywołuje funkcję _jspService () w celu przetworzenia żądania
  7. Oczyść JSP, tutaj pojemnik serwletu wywoła metodę jspDestroy ().

Teraz opracujmy powyższe kroki, aby uzyskać wyraźniejszy obraz -

Krok 1

W fazie tłumaczenia kontener serwletu dokonuje translacji strony JSP na serwlet, dzięki czemu kodowanie oparte na znacznikach uzyskuje równoważną formę w języku Java, aby maszyna wirtualna Java (JVM) mogła to zrozumieć (ponieważ nie zrozumie języka znaczników) . To tłumaczenie jest wykonywane przez serwer w momencie wdrażania aplikacji internetowej lub gdy JSP otrzymuje pierwsze żądanie wykonania.

Krok 2

Teraz nadszedł czas na kompilację kodu źródłowego, tj. Konwersję kodu serwletu na kod bajtu java (kod bajtu java to zestaw instrukcji dla wirtualnej maszyny java).

Krok 3

Klasa serwletu załadowana ze źródła JSP zostanie teraz załadowana do kontenera.

Krok 4

Po załadowaniu pliku klasy przez kontener WWW, kontener JSP używa teraz konstruktora bez argumentów do tworzenia instancji klasy serwletu. Teraz, gdy kontener zainicjuje obiekty przez wywołanie metody jsplnit ().

Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)

Krok 5

Teraz nadszedł czas na przetwarzanie żądań, tutaj zainicjowane równoważne obiekty serwletu JSP są wykorzystywane do przetwarzania żądań klientów. Metoda _jspService () jest wywoływana przez kontener WWW. Wywołanie to jest wykonywane przez obiekt serwletu przekazujący obiekt HTTPServletRequest i obiekt HTTPServletResponse dla odpowiednich żądań i odpowiedzi. Zauważ, że nie ma przepisu zastępującego metodę _jspService ().

Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)

Krok 6

Ostatnim krokiem jest czyszczenie JSP, JSP musi zostać usunięty z użycia przez kontener, a metoda jspDestroy () jest użyta do tego samego, metoda ta zostanie wywołana tylko raz. Istnieje przepis zastępujący tę metodę, który można wykonać w przypadkach, w których chcemy wykonać naszą niestandardową akcję, taką jak zwolnienie połączenia z bazą danych itp.

public void jspDestory()
(
// snippet is placed here
)

Przykład:

Utwórzmy formularz logowania do naszej przykładowej aplikacji i będziemy używać JSP do wyświetlania niektórych treści tutaj.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


W powyższym przykładzie kod umieszczony wewnątrz jest renderowany dynamicznie, jak wspomnieliśmy wcześniej, teraz po wysłaniu tego żądania zostanie odebrany przez kontroler akcji, który jest w zasadzie klasą Java, która zawiera parametry odpowiadające nazwom wymienionym w Plik JSP.

Kontener serwletu tworzy obiekt modalny, do którego treści można odwoływać się w innych stronach JSP, odnosząc się do tego konkretnego kontrolera.

Takie podejście oparte na MVC znajduje obecnie miejsce w technologiach takich jak -

  1. Wiosna MVC
  2. Rozpórki 2
  3. Serwlety

Spring MVC i Struts 2 wprowadziły swój specyficzny URI, aby używać stron JSP w spersonalizowany sposób, a także wprowadzają różne odmiany tagów, takie jak autouzupełnianie, iterator, lista itp.

Dlatego JSP znajduje idealne miejsce w wielu ramach ze względu na ich elastyczność.

Wniosek

  • Dowiedzieliśmy się zatem, że dynamiczne strony internetowe mają swój frontend renderowany za pomocą stron JSP, podczas gdy strony statyczne można bezpośrednio umieścić w formacie HTML, ponieważ nie wymagają one odtąd żadnych manipulacji danymi / treścią.
  • Nowoczesne technologie są kompatybilne ze stronami JSP i są używane przez rozpórki i sprężynujące struktury, które znajdują zastosowanie w dużych aplikacjach związanych z bankowością, SCM, sklepami itp.
  • Kompatybilny z wywołaniami AJAX do dynamicznego renderowania.
  • Aplikacja nie może być typu pojedyncza strona, ponieważ za każdym razem trzeba załadować stronę z backendu.
  • Kafelki mogą być używane jako formaty układu podstawowego w rozpórkach i sprężynach, a to, co musimy renderować raz po raz, to tylko ciało.
  • Ostatecznie kody są konwertowane do odpowiednika HTML na interfejsie.
  • Strony JSP różnicują koncepcję prezentacji i generowania treści.
  • Przechwytywacze są dostarczane przez różne frameworki, które ułatwiają programistom życie, takie jak narzędzia w rozpórkach dla procesów przesyłania plików itp.

Polecane artykuły

Jest to przewodnik po cyklu życia JSP. Tutaj omówiliśmy wprowadzenie, kroki i przykład cyklu życia JSP. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. JSP vs ASP
  2. Pytania do wywiadu AJAX
  3. Co to jest MVC?
  4. JSP vs Servlet
  5. Iteratory w C #