Pokud jste mysleli, že Interval ctí prázdniny, mýlili jste se. Marek Branický pro vás připravil průvodce technologií JavaServer Pages, založené na Javě, která umožňuje vývoj dynamických webových stránek. Využijte tedy poklidné atmosféry u vás k výuce něčeho nového a zajímavého u nás.

JSP bola vyvinutá spoločnosťou Sun Microsystems, za účelom vývoja aplikácií na strane servera. JSP súbory sú vlastne HTML stránky, do ktorých sú vložené špeciálne tagy obsahujúce javovský zdrojový kód. Tento kód potom vytvára dynamický obsah stránky. To znamená, že napíšete váš HTML dokument spôsobom a s nástrojmi ako ste boli doteraz zvyknutý. Potom uzavriete kód určený pre dynamickú časť do špeciálnych značiek (tagov – väčšina z nich začína <% a končí %>). Použiť JSP je vhodné hlavne vtedy, keď väčšiu časť stránky tvorí statický obsah. V opačnom prípade je vhodné použiť na vytváranie stránok technológiu servletov.

Princíp činnosti

Zdrojový kód stránky JSP je prekladaný na servlet a následne kompilovaný. Výsledkom je servlet, ktorý generuje HTML. To je poslané klientovi, ako odpoveď na jeho požiadavku. Detailný postup je opísaný pod nasledujúcim obrázkom:

  1. Užívateľ požiada o webovú stránku, ktorá bola vytvorená ako JSP. Klient vytvorí požiadavku (request) a smeruje ju cez sieť na server.
  2. Požiadavka je nasmerovaná na príslušný web server.
  3. Web server zistí, že požadovaný súbor je špeciálny, pretože má koncovku „jsp“. Preto presmeruje JSP súbor do JSP Servlet stroja.
  4. V prípade, že tento súbor bol volaný prvýkrát, JSP stroj ho prekontroluje. V opačnom prípade pokračuje bodom 7.
  5. V ďalšom kroku je vygenerovaný špeciálny servlet, vytvorený na základe súboru JSP. Všetko statické HTML je uložené v out.println() príkazoch.
  6. Zdrojový kód servletu je skompilovaný a je vytvorený „.class“ súbor.
  7. Je vytvorená inštancia servletu a zavolajú sa metódy init() a service().
  8. Výstupom zo servletu je HTML, ktoré je poslané cez sieť.
  9. Užívateľovi sa zobrazia výsledky.

Vzorová stránka: datum.jsp

Na tejto jednoduchej stránke vidíte prepojenosť klasického HTML a Java kódu, uzavretého medzi tagy <%= a %>. Príkaz new java.util.Date() vytvorí inštanciu triedy Date a vloží ju do stránky.

<! DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.0 Transitional //EN“>
 <HTML>
  <HEAD><TITLE>Dnešný dátum.</TITLE></HEAD>
  <BODY>
    Dnešný dátum:<BR>
    <%= new java.util.Date() %>
  </BODY>
 </HTML>

Výhody JSP

Oddelenie statickej časti od dynamického obsahu má radu výhod, dokonca aj proti technológii servletov. Prístup, ktorý sa používa na stránkach JSP ponúka niekoľko výhod aj v porovnaní s konkurenčnými technológiami, napríklad ASP, PHP, ColdFusion, CGI, SSI a tak ďalej.

Výhodou JSP proti ASP je, že dynamická časť je napísaná v Jave, oproti VBScriptu alebo inému jazyku určeného pre ASP. Java je komplexnejší, robustnejší a bezpečnejší jazyk, ktorý sa hodí na tvorbu znovu použiteľných komponentov. A ďalej, Java je prenositeľná, teda nie ste limitovaní použitým operačným systémom alebo serverom.

Výhoda JSP proti PHP znova spočíva v tom, že JSP sú písane v Jave, ktorú pravdepodobne používate a teda sa nemusíte učiť nový jazyk. Java vám poskytuje rozsiahle triedy na prácu so sieťou, databázami, elektronickou poštou a tak ďalej.

Výhody JSP proti Servletom – JSP nedokáže niečo, čo by sa nedalo v podstate urobiť aj pomocou servletu. V skutočnosti to funguje tak, že stránka JSP sa najprv automaticky preloží do servletu. Až tento servlet je potom vykonávaný na strane serveru. Ako som však spomenul v prípade, že sa mi nemení kompletne obsah celej stránky, je vhodnejšie použiť JSP. Výhodou je, že oddelím prezentáciu od dynamického obsahu.

Software na vývoj a testovanie JSP

Na testovanie stránok JSP je treba mať server, ktorý implementuje špecifikáciu Java servlet 2.1 alebo 2.2 a Java Server Pages 1.0 alebo 1.1. V prípade, že už používate niektorý z komerčných aplikačných serverov, napr. BEA WebLogic, IBM WebSphere, je možné , že máte všetko čo potrebujete. Samotné písanie stránok JSP je totiž možné aj v notepade. Väčšina z nás však siahne po svojom obľúbenom editore HTML. Ale je dobré ak máte pre potreby štúdia a testovania jednoduchý a nenáročný server, ktorý si môžete nainštalovať na svojom počítači. Takýchto serverov je niekoľko:

Apache Tomcat: Tomcat je referenčná implementácia Servlet 2.3 a JSP 1.2. Je rýchly a nenáročný na výkon, ale treba vyvinúť väčšie úsilie v prípade konfigurácie tohto servera. Je možné ho použiť samostatne (standalone), alebo ho integrovať do servera Apache. Je zdarma. Viac nájdete na http://jakarta.apache.org.

Macromedia JRun: JRun je možné integrovať do MS IIS, MS Personal Web Server, StarNine WebSTAR a podobne. Obmedzená verzia je zdarma, komerčná poskytuje ďalšie možnosti. Viac na http://www.macromedia.com/software/jrun.

Gefion Software LiteWebServer (LWS): LWS je malý server, ktorý vychádza z Tomcatu. Podporuje špecifikáciu Servlety 2.3 a JSP 1.2. Ďalšie informácie na http://www.gefionsoftware.com.

Prameny a literatura:

HALL, Marty: Java Servlety a stránky JSP. 1.vyd. Praha: Neocortex s.r.o., 2001. 586 s. ISBN 80-86330-06-0
ECKEL, Bruce: Myslíme v jazyku Java – knihovna skušeného programátora. 1.vyd. Praha: GRADA Publishing s.r.o., 2001. 472 s. ISBN 80-247-0027-1

V ďalšom článku sa pozrieme, čo ešte potrebujeme na testovanie JSP stránok, a ako si to prispôsobíme.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět