Articles

události životního cyklu JSP vysvětleny

JSP jsou ve skutečnosti servlety, jak jste již viděli. Kontejner převede všechny soubory JSP na servlety před jejich provedením. JSP jen poskytují snadný způsob, jak vytvořit komponenty, které obsahují non-java kód.

jakmile je stránka JSP vytvořena a nasazena, kontejner provede některé události životního cyklu, což také zahrnuje volání některých jeho metod podobných událostem životního cyklu servletů.

  1. JSP page translation (validation, translation, compilation phases)
  2. Load Class
  3. Instantiate
  4. jsspinit method se nazývá
  5. _jspservice method se nazývá
  6. jspDestroy method se nazývá

JSP page translation (validation, translation, compilation phases)

Validation se provádí před překladem. Dochází ke kontrole syntaxe a všechny odkazy na knihovny tagů, akce a funkce EL v JSP jsou ověřeny, aby se zajistilo, že existují a jsou přístupné stránce, a pokud se vyskytnou nějaké problémy, dojde k chybě a zabrání pokračování procesu překladu.

před validací je stránka JSP převedena na zobrazení XML a tento pohled xml je poté ověřen a přeložen.

počáteční vstupní stránka JSP je přeložena do zdrojového kódu servletu. Přitom, bude psát tiskové příkazy pro každý z vašich non java řádků v JSP. Tento generovaný servlet by měl implementovat HttpJspPage nebo jeho nadřazený JspPage na základě toho, zda je prostředí založeno na HTTP nebo ne. Související blog: angular training in Chennai

  • dodavatel bude mít obvykle specializovaný JSP base servlet, který rozšiřuje a implementuje všechny požadované třídy nebo rozhraní. V Tomcatu se to nazývá org.Apač.jaspis.runtime.HttpJspBase. HttpJspBase rozšiřuje HttpServlet a GenericServlet a implementuje HttpJspPage, JspPage, Serializable, Servlet, ServletConfig.

zdrojový kód Servletu je pak zkompilován do souboru třídy servlet.

výstupy

  • ve fázi překladu jsou dva výstupy.
  • první je dočasný výstup: zdrojový soubor Java pro servlet.
  • druhý je kompilovaný soubor třídy ze zdroje servletu.
  • soubor třídy je zachován pro budoucí použití a většina kontejnerů JSP si může ponechat nebo vám dát možnost, pomocí které si můžete ponechat zdroj servletu pro účely ladění.
  • v Tomcatu bude vygenerovaný servlet Java source a zkompilovaná třída během překladu JSP ve výchozím nastavení uložena v adresáři <Tomcat-Installation-Directory> / work/Catalina / localhost / <context – directory>/org/apache/jsp.

načasování

  • i když kontejner JSP má uvážení ohledně toho, kdy dojde k překladu, ve výchozím nastavení (ve většině případů) je JSP zkompilován do servletu a poté načten při prvním přístupu.
  • to může způsobit malé zpoždění pro první požadavek, ale v následných požadavcích nebude žádné zpoždění.
  • v některých aplikačních serverech můžete také Předkompilovat JSP před jejich přidáním do sklenic.

chyby

  • pokud se stránka nepodaří přeložit, HTTP požadavek na stránku by měl vést k 500 (chyba serveru) stavový kód sdělený zpět v HTTP odpovědi.

Třída zatížení

  • generovaná třída servletů se načte pomocí zavaděče třídy aplikace.

instance

  • je vytvořena instance třídy servlet.
  • pro každou deklaraci mapování servletů JSP na webu.xml (podobně jako servlety), je vytvořena nová instance kromě standardní instance souboru JSP. Pokud mám stránku JSP v kontextu root, a také jsem zaregistroval stejnou stránku JSP na webu.xml, budu mít dvě instance tohoto JSP vytvořené.

jspInit metoda se nazývá

  • tuto metodu můžete přepsat.

_jspservice metoda se nazývá

  • když jsou podány požadavky, kontejner volá vygenerovanou metodu servlet ‚ s service(request, response), která by měla volat metodu _jspService () a předávat parametry požadavku a odpovědi.
  • neměli bychom přepsat _jspService () z naší stránky JSP. Tato metoda představuje zdroj vaší stránky ve formě Java kódu — je na generátorech stránek kontejneru, aby implementovali tuto metodu pro každý jednotlivý JSP.
  • nicméně JSP spec je dostatečně flexibilní, aby vyhověl jakémukoli protokolu požadavku /odpovědi, který chcete implementovat přepsáním této metody; a pro to stačí přepsat metodu _jspService.

jspDestroy metoda se nazývá

  • volal před instance JSP servlet je zrušen a odpadky shromážděné

důležité body k zapamatování

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.