Programování

JSP – Rychlý průvodce pro začátečníky

30. října 2021

Obsah

Co je JavaServer Pages?

The JavaServer Pages (JSP) , technologie na straně serveru, pomáhá vývojářům vyvíjet webové stránky, které používají HTML , XML , MÝDLO , atd. Označuje se také jako Jakartské serverové stránky . V JSP mohou vývojáři vložit kód java do HTML Jazyk. V JSP jsou jedinečné značky, které umožňují použití Jáva kód v HTML. Tyto značky začínají a končí '<%’ a '%>' symboly, resp. Pro provozování JSP potřebujete webový server obsahující kontejner servletu. Můžete například použít Apache Tomcat nebo Molo .

JSP je modelován z Java servlety . Java servlet se také nazývá Jakarta Servlet. Během běhu jsou JSP transformovány na servlety; proto se jim říká servlety. Obecně se JSP zapisují do textových souborů a vkládají kód HTML nebo XHTML, akce JSP, prvky XML a příkazy JSP. JSP hraje roli uživatelského rozhraní ve webových aplikacích Java. Všechny implicitní objekty JSP, jako je požadavek, relace, konfigurace, out, odpověď, aplikace, stránka a pageContext, jsou vytvořeny webový kontejner .

Možná jste narazili na formuláře webových stránek. Účelem těchto formulářů je shromažďovat data od různých uživatelů. V těchto formulářích webových stránek se JSP používá pro získávání dat od uživatelů jako vstup, uspořádává tato data ve formě databáze a generuje webové stránky. Primárním cílem JSP je prezentovat typy dokumentů XML a HTML. Může však také prezentovat dokumenty v jiných formátech, jak používá OutputStream . Přípona souboru pro JSP je .jsp, .jspx, .jspf a typ internetového média je aplikace/jsp.

Jakýkoli soubor HTML můžete převést na soubor JSP změnou přípony souboru .html na .jsp . Po změně rozšíření použijte značky JSP k přidání kódu java na stránky HTML. Pomocí JPS, vývojáři mohou vytvářet dynamický web stránky a webové stránky nezávislé na platformě. Podívejme se na některé významné rysy JSP.

Podívejte se na naše Průvodce rozhraním lidského počítače což bude dobré pro začátečníky.

Vlastnosti JSP

JSP je jedním z pohodlných způsobů vytváření dynamického webového obsahu. Existuje několik důvodů, proč vývojáři volí JSP pro vytváření několika aplikací. Zde jsou některé ručně vybrané funkce stránek Jakarta Server Pages.

  • V JSP jsou akční a vlastní značky. Proto je délka kódu JSP malá.
  • Psaní kódu v JSP je jednoduché, protože do stránek HTML nebo XML vkládá programovací jazyk Java.
  • JSP umožňuje vývojářům shromažďovat data a vkládat je do databáze nebo číst nebo zapisovat data do databáze.
  • Tato technologie na straně serveru je vysoce flexibilní, přenosná a robustní, protože nezávisí na žádném prohlížeči nebo serveru.
  • Neexistuje žádný požadavek na to, aby se kód JSP kompiloval znovu a znovu. Je nezávislý na platformě a lze jej spustit na jakékoli konzoli bez rekompilace.
  • JSP zahrnuje implicitní objekty, servlety a vlastní značky. Proto vývojáři vytvářejí interaktivní webové stránky v reálném čase.
  • Do programů JSP můžeme také vložit další skriptovací jazyky, jako je JavaScript, Perl, VBScript atd. Ve výchozím nastavení je skriptovacím jazykem JSP Java.

Proč používat Java Server Pages?

Použití JSP má několik výhod. Chovají se podobně jako u Common Gateway Interface (CGI) . Webové servery spouštějí všechny programy, které generují dynamické webové stránky na společném rozhraní brány. Když porovnáme JSP s CGI, JSP je robustnější a nabízí více výhod pro vývojáře. Zde je několik důvodů, které vám pomohou pochopit, jak je JSP výhodnější než CGI.

  • Vývojáři mohou přidávat dynamické prvky do HTML pomocí JSP. Pokud používají CGI, musí vytvořit samostatný soubor CGI pro dynamické prvky.
  • JSP jsou kompilovány a později spuštěny na jakékoli platformě. Na druhou stranu CGI načte interpret a interpretuje kód, kdykoli si vyžádáte webovou stránku.
  • JSP a servlety můžete používat společně pro monitorování obchodní logiky. Motory šablon Java servletů podporují tento kombinovaný model JSP a servletu.
  • JSP je abstrakce Java servletů na vysoké úrovni. Tyto stránky jsou vytvořeny na nejvyšší úrovni rozhraní Java servletu. Mají tedy přístup ke všem primárním rozhraním Java, jako jsou JAXP, JDBC, JNDI atd.
  • V architektuře MVC se JSP používá jako vrstva zobrazení.
  • Všechny aplikace na podnikové úrovni jsou spouštěny na platformě zvané Java EE. Platforma Java EE zahrnuje JSP.

Výhody JSP

JSP je efektivnější a robustnější než jiné technologie, jako je JavaScript, statické HTML, čisté servlety atd. Zde uvidíme, jak je JSP výhodnější oproti jiným technologiím.

  • Jednou z nejžádanějších výhod JSP je použití programovacího jazyka Java pro psaní své dynamické části. Pro psaní kódu nepoužívá Visual Basic. Za druhé, je kompatibilní s ostatními provozní systémy.
  • Pomocí JSP vkládáme kód Java do stránek HTML. Proto je snadné upravovat HTML.
  • Načítá data z webových formulářů a připojuje je k databázi.
  • Ve webové aplikaci JSP odděluje vrstvu obchodní logiky od prezentační vrstvy.
  • JSP používá programovací jazyk Java. Proto také podporuje koncept multithreadingu Java.

Než přejdeme k výukovému programu JSP, provedeme vás nastavením prostředí JSP. Kromě toho potřebujete podrobné znalosti o programování v jazyce Java. Dejte nám nyní vědět, jak nastavit prostředí JSP na vašem počítači.

Jak nastavit prostředí JSP?

Proč potřebujete nastavit prostředí JSP? Je nutné opravit prostředí JSP na ploše? Pokud si přejete vytvářet dynamický webový obsah nebo webové aplikace pomocí JSP, musíte nastavit prostředí JSP. Toto prostředí umožňuje vývojářům psát programy JSP, kompilovat je a spouštět na jakékoli platformě. Nastavení prostředí JSP vysvětlíme v následujících krocích:

Nastavení sady Java Development Kit

Prvním krokem je opravit Java Development Kit (JDK) na ploše. Java Development Kit je nezbytný, protože kód Java vkládáme do kódu HTML pomocí JSP. Proto prostředí JSP vyžaduje nejprve opravu prostředí JDK.

Nejprve si musíte stáhnout sadu Java Software Development Kit (SDK) od oficiálního zástupce společnosti Oracle webová stránka

Po stažení otevřete soubor .exe a nainstalujte a nakonfigurujte jej podle daných pokynů. Později musíte nastavit dvě proměnné prostředí, CESTA a JAVA_HOME . Musíte nastavit CESTA proměnná vzhledem k umístění pracovní plochy Jáva , tj., java_install_dir/bin, a JAVA_HOME variabilní k místu, kde je javac , tj., java_install_dir .

Pokud máte systém Windows a nainstalovali jste soubor SDK na adrese C:jdk1.5.0_20 umístění, přidejte tuto cestu k C:autoexec.bat soubor.

|_+_|

Pokud jste nainstalovali soubor SDK v systému Windows NT, 2000 nebo XP, existuje jiný způsob nastavení CESTA a JAVA_HOME proměnné prostředí. Musíte kliknout pravým tlačítkem na Můj počítač , vyberte Vlastnosti , zapni Pokročilý a přejděte na Proměnné prostředí . Zde musíte nastavit CESTA k umístění Jáva , tj., Cjdk1.5.0_20in . Po změně PATH klikněte na OK knoflík.

Nyní budeme vědět, jak nastavit proměnné prostředí PATH a JAVA_HOEM pro systémy UNIX, jako je Solaris, Linux atd. Předpokládejme, že jsme nainstalovali soubor SDK do /usr/local/jdk1.5.0_20 . Musíte přidat dva níže uvedené příkazy do .cshrc soubor. Uvažujme, že používáme C shell.

|_+_|

Pokud používáte nástroje integrovaného vývojového prostředí (IDE), jako je Eclipse, Sun ONE Studio, JBuilder atd., vezměte si ukázkový program Java, zkompilujte jej a spusťte jej, abyste ověřili, že váš nástroj IDE ví, kde je na vašem systému nainstalována Java.

Po instalaci sady Java Development Kit a nastavení proměnných prostředí PATH a JAVA_HOME je dalším krokem nastavení webového serveru.

Nastavení webového serveru Tomcat

Dnes je k dispozici několik webových serverů, které podporují vývoj dynamických webových aplikací prostřednictvím JSP nebo Servletů. Použijeme webový server Tomcat, který je open-source a lze jej používat zdarma. Tomcat je zkratka pro Apache Tomcat. Je zdarma k použití kýmkoli a je kompatibilní s několika serverovými technologiemi, jako jsou JavaServer Pages, Servlets, WebSocket a Java Expression Language. Java kód v Tomcatu běží na čistá Java HTTP webový server.

Apache Tomcat obsahuje několik komponent. Dejte nám vědět o každém komponentu a jeho použití.

  • Kontejner servletu pro Tomcat je Kateřina , který využívá specifikace Sun Microsystem pro JSP a servlety. Uživatelské jméno, heslo a role uživatelů jsou přítomny v prvku Realm.
  • Komponenta konektoru pro Tomcat je Kojot , který je kompatibilní s protokolem HTTP 1.1.
  • JSP engine v Tomcatu je Jaspis . Tento engine analyzuje textový soubor JSP a zkompiluje jej do kódu Java.
  • Další součástí Tomcatu je Cluster , která spravuje velké webové aplikace.

Zde jsou kroky ke stažení webového serveru Apache Tomcat.

  • Nejprve si musíte stáhnout Apache Tomcat z jeho oficiálního webu webová stránka

Musíte si stáhnout nejnovější verzi Apache Tomcat.

  • Po stažení softwaru umístěte stažený software na konkrétní místo. Pokud jste například nainstalovali Tomcat do systému Windows, vyhledejte stažený soubor v C:apache-tomcat-5.5.29 . U systémů Linux nebo Unix umístěte soubor do /usr/local/apache-tomcat-5.5.29 .
  • Po nalezení souboru vytvořte soubor CATALINA_HOME proměnná prostředí. Nastavte tuto proměnnou na umístění souboru tomcat, jak je uvedeno výše, tj. pro systémy Windows nastavte proměnnou na C:apache-tomcat-5.5.29 a pro systémy Linux nastavte proměnnou na /usr/local/apache-tomcat-5.5.29 .

Nastavení Apache Tomcat je úspěšně dokončeno. Pokud jste nainstalovali Tomcat do systému Windows, postupujte podle kteréhokoli ze dvou příkazů pro spuštění aplikace Tomcat.

|_+_|

nebo

|_+_|

Pokud je vaše aplikace Tomcat nainstalována v systému Linux, můžete aplikaci Tomcat spustit zadáním libovolného z níže uvedených příkazů.

|_+_|

Nebo

|_+_|

Jakmile úspěšně otevřete aplikaci Tomcat, navštivte http://localhost:8080/ . Všimnete si všech výchozích aplikací přítomných v Tomcatu. Konfiguraci a spuštění aplikace Tomcat můžete provést pomocí dokumentace dostupné na oficiálních stránkách Tomcat.

Nyní uvidíme příkazy pro vypnutí aplikace Tomcat v systémech Windows a Linux. Existují dva příkazy pro vypnutí aplikace Tomcat v systémech Windows. Jsou následující:

|_+_|

Nebo

|_+_|

U systémů Linus můžete pro ukončení aplikace Tomcat použít kterýkoli ze dvou příkazů.

|_+_|

Nebo

|_+_|

Nastavení CLASSPATH

Probereme, jak nastavit CLASSPATH pro systémy Windows a Linux. Pokud jste nainstalovali Tomcat do systému Windows, postupujte podle níže uvedených řádků kódu pro nastavení CLASSPATH.

|_+_|

Pokud má váš systém Windows verze NT, 2000 nebo XP, musíte na ni kliknout pravým tlačítkem Můj počítač , vyberte Vlastnosti , klikněte na Pokročilý a přejděte na Proměnné prostředí . Zde musíte změnit hodnotu CLASSPATH a kliknout na OK knoflík.

Pokud jste nainstalovali Tomcat do systému Linux, přidejte do souboru .cshrc následující dva řádky. Uvažujme, že používáme C shell.

|_+_|

Jaká je architektura JSP?

Nastavili jsme prostředí pro JSP. Pro provoz stránek JSP jsme použili Apache Tomcat. Pro zpracování stránek JSP existuje jádro JSP nazývané kontejner. V Apache Tomcat je vestavěný JSP engine tzv Jaspis . Proto mohou vývojáři pomocí Jasperu vytvářet stránky JSP. Kontejner a webový server spolupracují na poskytování runtime prostředí nebo JSP a všech dalších služeb vyžadovaných JSP.

JSP

Výše uvedený diagram ilustruje umístění kontejneru JSP a souborů JSP v libovolné webové aplikaci. Nyní vysvětlíme proces generování dynamické webové stránky webovým serverem pomocí JSP.

  • Za prvé, klient nebo prohlížeč ze systému Windows, Linux nebo macOS odešle požadavek HTTP na webový server přes internet, jak je znázorněno na obrázku výše.
  • Webový server má v sobě JSP engine, kde jsou uloženy všechny JSP soubory. Při přijetí požadavku HTTP od klienta webový server identifikuje, že požadavek je pro stránku JSP. Poté předá tento požadavek enginu JSP. Webový server přenese požadavek HTTP na stránku JSP pomocí souboru s příponou .jsp nebo .html nebo prostřednictvím adresy URL.
  • Nyní JSP obdrží požadavek HTTP, který klient odeslal na webový server. Víme, že požadavek HTTP byl pro stránku JSP. Proto modul načte konkrétní stránku z disku a převede ji na obsah servletu. Jinými slovy, veškerý text šablony se změní na příkazy println(). Na druhou stranu tato transformace také převede všechny stránky JSP do kódu Java.
  • Požadovaná stránka JSP se transformuje na servlet. Proto je servlet zkompilován jádrem JSP do spustitelné třídy. Později je požadavek HTTP od klienta odeslán do jádra servletu jádrem JSP.
  • Součástí webového serveru jsou servlety i JSP motory. Motor servletu spustí spustitelnou třídu zkompilovanou jádrem JSP a vygeneruje výstup ve formátu HTML. Na webovém serveru je další komponenta, HTTP odpověď. Stroj servletu odešle výstup HTML na odpověď HTTP.
  • Nakonec webový server odešle HTTP odpověď do prohlížeče přes internet ve formě statického HTML obsahu.

Proto můžete napsat servlet pomocí stránky JSP s velmi malými znalostmi programování v jazyce Java. Z výše uvedeného zpracování JSP můžeme usoudit, že funguje stejně jako servlet, s výjimkou fáze překladu. Sleduje 3-vrstvou architekturu s webovým serverem podporujícím stránku JSP. Nyní se přesuneme k životnímu cyklu JSP. Zde budeme diskutovat o tom, jak soubor JSP prochází různými fázemi a jak je přítomen ve webovém kontejneru.

Životní cyklus JSP

Životní cyklus jakékoli součásti začíná, když je vytvořena, a končí, když je zničena. Životní cyklus JSP je podobný životnímu cyklu servletu. Další fáze životního cyklu JSP se používá pro převod a kompilaci stránky JSP na servlet. Životní cyklus JSP lze definovat jako vytvoření stránky JSP, její transformace na servlet, životní cyklus servletu a zničení stránky JSP. Podívejme se nyní podrobně na životní cyklus JSP níže.

Životní cyklus JSP zahrnuje čtyři primární cesty takto:

  1. Sestavení
  2. Inicializace
  3. Provedení
  4. Čištění

Všechny tyto čtyři cesty životního cyklu JSP jsou podobné cestám životního cyklu servletu. Níže uvedený diagram znázorňuje výše uvedené fáze.

JSP

Pojďme si nyní podrobně probrat každou fázi životního cyklu JSP a její popis.

    Kompilace JSP

Když klient nebo prohlížeč odešle požadavek HTTP na stránku JSP, stroj JSP přítomný na webovém serveru ověří, zda musí být stránka požadavku zkompilována nebo ne. Modul JSP zkompiluje požadovanou stránku, pokud nebyla zkompilována dříve nebo nebyla zkompilována po úpravě stránky. Kompilace stránky zahrnuje následující tři kroky:

  • Požadovaná stránka je analyzována jádrem JSP.
  • Poté transformuje stránku JSP na servlet.
  • Nakonec se zkompiluje servlet.

Když je stránka JSP transformována na servlet, .jsp soubor je převeden na a .Jáva soubor. V době kompilace, .Jáva soubor je poté převeden na a .třída soubor.

    Inicializace JSP

Po dokončení kompilace proběhne proces načítání třídy. Zdroj JSP načte třídu servletu a tato třída servletu je poté načtena do kontejneru. Instance třídy servletu je vytvořena v kontejneru. Poté, co se vytvoří instance třídy servletu, jspInit () metoda se vyvolá. Tato metoda je vyvolána pouze jednou v životním cyklu JSP. Pro inicializaci specifickou pro JSP musíte přepsat jspInit () metoda takto:

|_+_|

Když jspInit () je vytvořena instance, musíte vytvořit připojení k databázi a vygenerovat vyhledávací tabulky v souboru.

    Provedení JSP

Po jspInit () metoda je instanciována, _jspService() používá se metoda. Tato metoda obsluhuje všechny požadavky zaslané klientem na webový server, dokud nebude JSP zničen.

The _jspService() metoda zahrnuje dva různé parametry, HttpServletRequest a HttpServletResponse . Tato metoda je definována následovně:

|_+_|

The _jspService() metoda reaguje na všechny požadavky od klienta. Kdykoli klient vydá požadavek, _jspService() je vyvolána metoda. Odpovídá také na všech sedm požadavků HTTP, např DOSTAT , VYMAZAT , POŠTA , DÁT , atd. Můžete přepsat _jspService() metoda.

    Vyčištění JSP:

Poslední fází životního cyklu JSP je vyčištění, kdy dojde ke zničení JSP. Kontejner odebere JSP a nepoužívá jej. Tato metoda je stejná jako metoda zničení servletu. Pokud požadujete zavřít jakékoli soubory v databázi nebo ukončit připojení k databázi, můžete přepsat jspDestroy() metoda. Syntaxe metody jspDestroy() je následující:

|_+_|

Syntaxe v JSP

V tomto segmentu se naučíme syntaxi několika prvků JSP, jako jsou akce, direktivy, implicitní objekty, komentáře, výrazy atd. Tato část tutoriálu je velmi důležitá pro nováčka v doméně JSP. Následuje stručný průvodce syntaxí JSP.

    skriptlet:

Skriptlet je jedním z robustních prvků JSP. Do skriptletu můžeme uložit Java příkazy, metody, proměnné a výrazy. Kromě toho může také ukládat prvky libovolného skriptovacího jazyka. Níže je uveden prvek Scriptlet Syntax:

Syntax:

|_+_|

Výše uvedená syntaxe skriptletu může být zapsána jako ekvivalent XML v následujícím formátu:

|_+_|

Všechny značky HTML, prvky JSP a jakýkoli jiný text je vždy zapsán mimo značky Scriptlet. Na stránce HTML uvidíme přímočarý příklad JSP.

Příklad:

|_+_|

Server Tomcat by měl být nainstalován na vašem počítači a jeho prostředí by mělo být nastaveno pro spuštění tohoto programu. Pro nastavení prostředí serveru Tomcat postupujte podle výše uvedených kroků pro nastavení prostředí. Výše uvedený soubor uložíme jako firstjsp.jsp v C:apache-tomcat7.0.2webappsROOT složka. Po uložení souboru přejděte do prohlížeče a zadejte adresu URL, http://localhost:8080/firstjsp.jsp. Výše uvedený kód zobrazí JSP Quick Guide a IP adresu vašeho systému.

    prohlášení

Když potřebujete proměnné nebo metody k použití v kódu Java, deklarace JSP je deklarují. Než použijete jakoukoli proměnnou nebo metodu v kódu Java, musíte ji deklarovat pomocí deklarace JSP. Syntaxe prohlášení JSP je uvedena níže:

Syntax:

|_+_|

Výše uvedená syntaxe je zapsána v XML takto:

|_+_|

Nyní se podívejme na příklad deklarací JSP.

Příklad:

|_+_|
    Výraz

Výraz v JSP obsahuje výrazy skriptovacího jazyka. Tyto výrazy lze vyhodnotit, převést na řetězec a přidat do souboru JSP, kde se výraz objeví. S textem můžete použít výrazy JSP, protože jej lze převést na řetězec. Označení výrazů JSP uvnitř značek HTML není povinné. Při psaní výrazu JSP je důležité pamatovat na to, že se k ukončení výrazu nepoužívá středník.

Syntax:

|_+_|

Výše uvedená syntaxe může být zapsána do jejího ekvivalentu XML následovně:

|_+_|

Následující příklad vám pomůže pochopit, jak používat výraz JSP v HTML.

|_+_|

Získáte výstup jako aktuální datum a čas následovně:

|_+_|
    Komentáře

Komentáře jsou prohlášení, která nejsou určena k provedení. Jsou určeny pouze pro programátory a čtenáře. V JSP jsou komentáře kontejnerem ignorovány. Pokud si přejete skrýt nějakou část programu JSP, můžete tuto část okomentovat pomocí komentářů JSP. Následuje syntaxe pro komentáře JSP.

Syntax:

|_+_|

Provedeme níže uvedený příklad, který obsahuje komentář JSP.

Příklad:

|_+_|

Výsledek tohoto kódu je uveden níže.

|_+_|

V JSP existuje mnoho dalších způsobů, jak specifikovat komentáře. Níže je šest různých syntaxí komentářů a jejich použití:

Výše uvedené je označováno jako HTML komentář a prohlížeč ignoruje znaky nebo slova napsaná v komentáři.

    %>

implikuje statický literál.

    <\%

Výše uvedený komentář je také označován jako statický literál.

Určuje dvojitou uvozovku použitou v atributu.

    '

Určuje jednu uvozovku použitou v atributu.

    směrnice

V JSP jsou tři směrnice, , , a . The Direktiva se používá k definování atributů stránky, jako je chybová stránka, skriptovací jazyk a požadavky na ukládání do vyrovnávací paměti. Druhá směrnice, , obsahuje specifický soubor používaný během fáze překladu životního cyklu JSP. Konečně, direktiva se používá k deklarování knihovny karet a vlastních akcí požadovaných na stránce JSP. Když jsou použity direktivy JSP, ovlivňují strukturu třídy servletů. Zde je syntaxe direktivy JSP.

|_+_|
    Akce

Akce jsou funkce, které jsou již definovány. Akce JSP se používají k řízení chování servletového enginu. Tyto akce přidají konstrukci do kódu XML. Pomocí akcí JSP můžete dynamicky vložit jakýkoli soubor, vytvořit HTML pro plugin Java nebo znovu použít komponenty JavaBeans. Níže je uvedena syntaxe akcí JSP.

Syntax:

|_+_|

Níže uvádíme některé významné akce JSP a jejich popis:

    jsp:useBean: Tato akce vytvoří instanci nebo identifikuje JavaBean.jsp:getProperty: Pro přidání vlastnosti JavaBean do výstupu můžete použít akci jsp:getProperty.jsp:setProperty: Tato akce opravuje vlastnost JavaBean.jsp:include: Když uživatel požádá o stránku, tato akce přidá soubor.jsp: plugin: Vytvoří značku OBJECT nebo EMBED a kód specifický pro prohlížeč pro Java Plugin.jsp:attribute: Tato akce se používá k definování atributu prvku XML, který je dynamicky definován.jsp:forward: Tato akce přenese uživatele na novou stránku.jsp:element: Pokud potřebujete dynamicky definovat prvky XML, použijte tuto akci.jsp:text: Tato akce umožňuje uživatelům přidat text šablony na stránku JSP.jsp:body: Používá se k definování těla prvku XML, který je definován dynamicky.
    Implicitní objekty

V JSP je devět implicitních objektů, požadavek, odpověď, relace, out, pageContext, config, aplikace, stránka a výjimka. Zde nám dejte podrobně vědět o každém implicitním objektu.

    žádost: Objekt požadavku je HttpServletRequest spojený s požadavkem klienta.Odezva: Objekt odpovědi je HttpServletResponse, spojený s odpovědí serveru klientovi.zasedání: Tento objekt zahrnuje HttpSession a je přidružen k objektu požadavku klienta.ven: Další implicitní objekt je mimo. Slouží k odeslání výstupu klientovi pomocí objektu PrintWriter.pageContext: Tento implicitní objekt určuje použití funkcí specifických pro server. Jedním příkladem funkce specifické pro server je JspWriters.config: Tento objekt zahrnuje objekt ServletConfig, který se používá se stránkou JSP.aplikace: Objekt ServletContext JSP se používá s kontextem aplikace.strana: Implicitní objekt stránky volá všechny metody, které jsou definovány třídou servletu.Výjimka: Určený JSP může přistupovat k datům výjimky pomocí objektu Exception.
    Příkazy Control-Flow

JSP také používá příkazy control-flow, příkazy pro rozhodování a smyčky. Zde uvidíme, jak se rozhodovací příkaz a smyčky používají v programování JSP.

Rozhodovací prohlášení

Rozhodovací výroky se používají k rozhodování o dostupných možnostech. Existují dva způsoby, jak implementovat prohlášení o rozhodování. Jeden používá příkaz if_else a druhý používá příkaz switch-case. Každá podmínka if a else je uzavřena v samostatných skriptletech. Podívejme se na příklad příkazu if_else v JSP.

Příklad:

|_+_|

Zde jsme deklarovali „měsíc=3“ a specifikovali podmínky v příkazech if_else. Výstup tedy bude:

|_+_|

Nyní implementujeme příkazy switch...case. Níže uvedený kód je zcela odlišný od výše uvedeného kódu, protože podmínky v níže uvedeném kódu jsou specifikovány v jednom skriptu.

Příklad:

|_+_|

Výstup:

|_+_|

Příkazy smyčky

Smyčku v programu používáme pro opakování konkrétní instrukce určitý počet opakování. JSP podporuje tři různé typy smyček, for, while a do...while. Níže se podívejme na příklady každého typu smyčky.

Pro smyčku:

|_+_|

Výstup:

|_+_|

Zatímco smyčka:

|_+_|

Výstup:

|_+_|
    Operátoři v JSP

Všechny logické a aritmetické operátory podporované Javou se používají v JSP. K jejich vyhodnocení se ve výrazech JSP používají operátory. Operátor s nejvyšší prioritou je vyhodnocen jako první a nakonec s nejnižší prioritou. Uvedli jsme všechny operátory JSP s nejvyšší prioritou jako první, druhou nejvyšší prioritou za další a tak dále.

    Postfix: Existují tři postfixové operátory ‚()‘. '[]', a '.'. Všechny tyto operátory mají asociativitu zleva doprava.unární: Unární operátory jsou „++“, „–“, „!“ a „~“, které mají asociativitu zprava doleva.Multiplikativní: Existují tři multiplikativní operátory, ‚*‘, ‚/‘ a ‚%‘. Mají asociativitu zleva doprava.Přísada: Aditivní operátory jsou „+“ a „-“. Mají také asociativitu zleva doprava.Posun: Operátory Shift, „>>“, „>>>“ a „<<’ have left to right associativity. Relační: Existují čtyři relační operátory ‚>‘, ‚=‘ a ‚<=’. All of them have left to right associativity. Rovnost: Operátory rovnosti jsou „==“ a „!=“, které mají asociativitu zleva doprava.Bitové AND: Bitový operátor AND (&) má asociativitu zleva doprava.Bitový XOR: Bitový operátor XOR (^) má asociativitu zleva doprava.Bitově NEBO: Bitový operátor OR (|) má asociativitu zleva doprava.Logické AND: Logický operátor AND (&&) má asociativitu zleva doprava.Logické NEBO: Logický operátor OR (||) má asociativitu zleva doprava.Podmiňovací způsob: Podmíněný operátor (?:) má asociativitu zprava doleva.Úkol: Existuje několik operátorů přiřazení, například =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Odstavec: Operátor čárky (‘) má asociativitu zleva doprava.

JSP podporuje pět různých literálů nebo datových typů, Boolean, celé číslo, s plovoucí desetinnou čárkou, String a NULL. Booleovský literál ve výsledku vrátí buď true, nebo false. Pro specifikaci čísla se používá celé číslo a pro deklaraci desetinných čísel v programu JSP se používá pohyblivá desetinná čárka. Datový typ String v JSP se liší od datového typu v jazyce Java. Datový typ NULL určuje hodnotu null.

Akce JSP

Viděli jsme, co jsou akce JSP. Také jsme viděli všechny akce JSP ve stručném přehledu výše. Akce nejsou nic jiného než funkce, které regulují chování enginu JSP. Připomeňme si syntaxi akce JSP.

Syntax:

|_+_|

Akce JSP jsou jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body a jsp:text. Všechny tyto akce JSP mají dvě společné součásti, ID a rozsah.

Komponenta ID se používá k jednoznačné identifikaci jakékoli akce JSP. Tato komponenta akce JSP se používá v programu JSP a definuje akci, která má být provedena. Dalším prvkem je Scope, který se používá k identifikaci životního cyklu akce JSP. Pomocí ID akce se určí její životnost. Prvek ID a prvek Scope jsou tedy přímo úměrné. Komponenta Scope může nabývat možných hodnot: stránka, relace, požadavek nebo aplikace.

Akce

Akce useBean v JSP nejprve najde objekt s atributy ID a Scope. Pokud není objekt nalezen, tato akce vytvoří objekt pro konkrétní atributy ID a oboru. Následuje způsob, jak načíst třídu useBean.

|_+_|

Po načtení třídy Bean můžete použít další dvě akce JSP, jsp:setProperty a jsp:getProperty . Tyto akce se používají k úpravě a načítání vlastností beanu. Akce useBean používá tři různé atributy , třída , typ a název fazole. The třída atribut přiřazuje název balíčku fazole. Můžete použít typ prvek pro určení typu proměnné pro objekt, na který odkazujeme. Nakonec název fazole poskytuje název fazole. Metoda instantiate() určuje název beanu.

Akce

Akce se používá k nastavení vlastnosti Bean. Jediným požadavkem pro nastavení vlastnosti fazole je, že fazole musí být nejprve definována. Akci lze použít dvěma způsoby:

Prvním způsobem je použití vnější a po součásti.

|_+_|

Ve výše uvedené syntaxi se akce provede, i když není vytvořena instance nového prvku nebo není nalezen žádný existující.

Další způsob, jak definovat akci, je uvnitř komponenty jsp:useBean.

|_+_|

Na rozdíl od prvního způsobu použití , druhý způsob se provede pouze v případě, že je nalezen existující nebo je konkretizován nový.

Jsp:setProperty zahrnuje čtyři různé atributy, název , vlastnictví , hodnota , a stop . The název atribut přiřadí název bobu, jehož vlastnost má být nastavena. Další atribut, vlastnictví , definuje vlastnost. The hodnota je hodnota přiřazená vlastnosti a stop atribut definuje název parametru přijatého vlastností.

Akce

Viděli jsme, že akce jsp:setProperty nastavuje hodnotu vlastnosti. Zde akce získá hodnotu nemovitosti. Po načtení hodnotu převede na Řetězec a přidá k výsledku.

Akce má pouze dva atributy, název a vlastnost. The název atribut definuje název fazole obsahující konkrétní vlastnost a vlastnictví atribut definuje název vlastnosti Beana. Níže je uvedena syntaxe akce:

|_+_|

Podívejme se na jeden příklad, který obsahuje příklad fazole. Uložte níže uvedený soubor jako PříkladBean.java .

|_+_|

Po zapsání tohoto kódu do PříkladBean.java soubor, zkompilujte jej a vygenerujte soubor PříkladBean.class soubor. Nyní zkopírujte PříkladBean.class soubor do C:apache-tomcat-7.0.2webappsWEB-INFclassesaction složka. Ujistěte se, že jste také nastavili CLASSPATH variabilní.

Nyní musíte vytvořit soubor main.jsp a napsat do něj níže uvedený kód.

|_+_|

Výstup:

|_+_|

Akce

Když chcete vložit prvky Java do programu JSP, použije se akce. Tato akce také identifikuje typ prohlížeče a přidá nebo tagy do programu JSP. Předpokládejme, že potřebujete komponentu Java, jejíž plugin není k dispozici. Akce stáhne plugin potřebný ke spuštění komponenty Java, jako je Applet nebo Bean. Akce pluginu, která odpovídá značkám HTML, obsahuje několik atributů.

Níže je jeden přímý příklad akce.

|_+_|

Ve výše uvedeném kódu můžeme pozorovat nový prvek, . Když komponenta selže, tento prvek odešle chybový řetězec uživateli.

Akce, jako , , a definuje prvky XML. Všechny prvky XML jsou generovány v době běhu a ne v době kompilace, tj. jsou generovány dynamicky.

Akce

Pokud chcete ukončit akci aktuální stránky a předat ji jinému zdroji, můžete použít akce. Syntaxe této akce je dána následovně:

|_+_|

S akcí je spojen pouze jeden atribut, a to strana . Tato stránka musí obsahovat relativní URL zdroje, kam se akce přenáší. Zdrojem může být stránka JSP, Java Servlet a statická stránka.

Nyní uvidíme jednoduchý příklad akce. Vytvoříme dva soubory, date.jsp a main.jsp . Soubor date.jsp zobrazí aktuální datum a soubor main.jsp obsahuje akci.

soubor date.jsp

|_+_|

soubor main.jsp

|_+_|

Oba soubory musíte uložit do kořenového adresáře. Nyní přistoupíme k souboru main.jsp pro výsledek. Nezobrazí obsah ze souboru main.jsp; místo toho zobrazí obsah ze souboru date.jsp, protože jde o přeposlaný soubor.

Výstup:

|_+_|

Akce

Pomocí akce můžeme psát textové šablony nebo dokumenty do stránek JSP. Níže je syntaxe akce:

|_+_|

Šablona zde obsahuje pouze text a výrazy EL. V šabloně nemohou být přítomny žádné další prvky. V souborech XML nepoužívejte výraz as ${whatever > 0} , protože toto označení není povoleno nebo nezákonné. Místo toho můžete použít ${whatever gt 0} .

Směrnice JSP

V sekci syntaxe jsme viděli, co jsou adresáře v JSP. Zde se podrobně naučíme adresáře JSP. Direktivy jsou v JSP zásadní, protože řídí a řídí kontejner JSP pro manipulaci a regulaci specifických prvků zpracování JSP. Celá struktura třídy servletů je ovlivněna direktivami JSP.

Syntax:

|_+_|

Atributy v direktivách jsou ve tvaru klíč–hodnota. V direktivách může být několik atributů a každý je oddělen čárkou. Ve výše uvedené syntaxi můžeme pozorovat mezeru mezi '<%@’ a název směrnice a hodnotu a '%>.' Tyto prostory jsou volitelné. Pokud mezi ně nepřidáte mezery, nemusíte se obávat. Výše jsme viděli, že existují tři direktivní značky, , , a . Proberme si každou z těchto direktivních značek podrobně.

Směrnice o stránce

Direktiva Page poskytuje pokyny pro aktuální stránku kontejneru. Direktivu stránky můžete zahrnout kdekoli ve svém programu JSP. Obecně se direktiva page používá v horní části stránky JSP. Syntaxe direktivy stránky je:

|_+_|

Výše uvedená syntaxe je napsána v XML, jak je uvedeno níže:

|_+_|

S direktivou stránky je spojeno 13 atributů, jak je vysvětleno níže.

    autoFlush: Tento atribut reguluje chování výstupní vyrovnávací paměti servletu.chybová stránka: errorPage zobrazí adresu URL druhého JSP, což vyvolá nekontrolované výjimky Java.rozšiřuje: Vygenerovaný servlet by měl rozšířit zadanou nadtřídu.vyrovnávací paměť: Atribut buffer definuje model vyrovnávací paměti výstupního proudu.typ obsahu: Tento atribut definuje schéma kódování znaků.isErrorPage: Navrhuje, zda je aktuální stránka JSP adresa URL definovaná atributem errorPage jiné stránky JSP.info: Určuje řetězec, ke kterému lze přistupovat pomocí metody getServletInfo().Jazyk: Tento atribut označuje programovací jazyk používaný na stránkách JSP.je ELIignováno: Určuje, zda bude výraz EL na stránce JSP ignorován.import: Tento příkaz označuje všechny balíčky a třídy, které je třeba přidat do JSP. V jazyce Java specifikuje příkaz Java import všechny třídy a balíčky, které je třeba zahrnout do programu Java.isThreadSafe: Tento atribut určuje model vláken servletu.zasedání: Atribut relace ověřuje, zda se stránka JSP účastní relace HTTP nebo ne.isScriptingEnabled: Tento prvek určuje, zda se mají použít skriptovací prvky na stránce JSP.

Směrnice o začlenění

Během fáze překladu, zahrnout Direktiva se používá k zahrnutí souboru na stránku JSP. Tato směrnice má také nasměrovat kontejner na kombinování všech externích souborů se stránkou JSP. Protože direktiva page je zahrnuta pouze v horní části stránky JSP, direktivu include lze použít kdekoli na stránce.

Syntax:

|_+_|

Výše uvedená syntaxe je zapsána v XML takto:

|_+_|

Zde je názvem souboru relativní adresa URL. Pokud nedefinujete cestu k souboru, kompilátor předpokládá, že váš soubor je přítomen v umístění JSP.

Adresář taglib

Posledním typem adresáře je taglib . Tento adresář poskytuje mnoho informací o stránce JSP, jako je sada použitých vlastních značek, umístění knihovny a nalezení vlastních značek ze stránky JSP. Níže je uvedena syntaxe adresáře taglib.

|_+_|

Výše uvedená syntaxe může být zapsána v XML takto:

|_+_|

atribut, nenávist , určuje umístění, kterému kontejner rozumí, a předpona atribut informuje kontejner o složení vlastních akcí.

Implicitní objekty JSP

Implicitní objekty JSP jsou objekty Java. Kontejner JSP umožňuje vývojářům používat tyto implicitní objekty na každé stránce JSP, aniž by byly explicitně deklarovány. Tyto objekty jsou také označovány jako předdefinované proměnné . Existuje devět různých implicitních objektů: požadavek, odpověď, out, session, aplikace, stránka, pageContext, config a výjimka.

Objekt požadavku

The javax.servlet.http.HttpServletRequest objekt vytvoří instanci s názvem žádost objekt. Když klient nebo uživatel požaduje určitou stránku, JSP engine vygeneruje nový objekt představující klientovu žádost. The žádost objekt nabízí několik metod pro extrakci informací z hlavičky HTTP, jako jsou metody HTTP, soubory cookie atd.

Objekt odpovědi

The javax.servlet.http.HttpServletResponse objekt vytvoří instanci s názvem Odezva objekt. Protože stroj JSP vytváří nový objekt, kdykoli uživatel požaduje určitou stránku, vytváří také objekt představující jeho odpověď. Pomocí objektu odpovědi můžete do programu JSP zahrnout nové soubory cookie, jako jsou stavové kódy HTTP, razítka atd.

Out Object

The javax.servlet.jsp.JspWriter objekt vytvoří instanci s názvem ven objekt. Modul JSP může přidat obsah k odpovědi požadované klientem. The JspWriter objekt má téměř stejné metody jako v java.io.PrintWriter třída. Existuje několik dalších metod v JspWriter objekt používaný pro ukládání do vyrovnávací paměti a vyvolá výjimku IOException.

Objekt aplikace

The javax.servlet.ServletContext vytvoří instanci nazvanou an aplikace objekt, který funguje jako obal pro ServletContext objekt. Tento objekt představuje stránku JSP. Když je stránka JSP inicializována, vytvoří se aplikační objekt. Tento objekt bude odstraněn, protože stránka JSP je zničena pomocí metody jspDestroy().

Objekt relace

The javax.servlet.http.HttpSession vytvoří instanci s názvem zasedání objekt. Tento objekt funguje podobně jako v Java Servlets. Primárním cílem objektu relace je sledovat relaci mezi požadavky klientů.

Výjimka Object

Obálka obsahující výjimku z předchozí stránky JSP se nazývá objekt výjimky. Když nastane chybový stav, použije se k jeho zpracování objekt výjimky.

Stránka Objekt

Objekt stránky poskytuje odkaz na instanci stránky. Představuje celou stránku JSP. ' tento' objekt a objekt stránky jsou navzájem synonyma.

Objekt pageContext

The javax.servlet.jsp.PageContext vytvoří instanci s názvem pageContext objekt. Jako strana objekt, pageContext objekt také představuje úplnou stránku JSP. Pomocí atributů objektu pageContext můžeme odvodit další implicitní objekty, např aplikace , config , zasedání , a ven . Tento objekt také ukládá informace, jako je rozsah stránky, errorPageURL a informace o ukládání do vyrovnávací paměti. Objekt pageContext podporuje 40 metod.

Objekt konfigurace

The javax.servlet.ServletConfig vytvoří instanci s názvem config objekt. Tento objekt funguje jako obal pro ServletConfig objekt. Uživatelé mohou tento objekt použít pro přístup k inicializačním parametrům servletu nebo jádra JSP. Níže uvedená metoda je ta, která se používá na stránce JSP pomocí objektu config.

|_+_|

Žádost klienta JSP

Webový server získá mnoho informací, když prohlížeč nebo klient požaduje konkrétní webovou stránku. Tyto informace nelze použít přímo, protože procházejí hlavičkou HTTP požadavku. Hlavička HTTP obsahuje několik prvků, které ukládají informace, když prohlížeč požaduje webovou stránku. Tyto prvky jsou accept, accept-charset, accept-encoding, accept-language, connection, authorisation, cookie, content-length, if-modified-since, host, referrer, if-unmodified-since a user-agent.

Objekt HTTPServletRequest

Objekt javax.servlet.http.HttpServletRequest vytvoří instanci nazvanou objekt požadavku. Kdykoli uživatel požádá o určitou stránku, motor JSP vygeneruje nový objekt. Primárním cílem objektu požadavku je načíst informace HTTP, jako jsou data, metody HTTP, soubory cookie atd. Níže jsou uvedeny některé metody, které čtou informace záhlaví HTTP z programu JSP.

    Výčet getAttributeNames(): Výsledkem této metody je výčet, který obsahuje názvy atributů dostupné pro tento požadavek.Cookie[] getCookies(): Když klient odešle požadavek, obsahuje objekty cookie. Proto tato metoda vytváří pole, které obsahuje všechny tyto objekty cookie.Výčet getParameterNames(): Tato metoda vede k výčtu objektů String. Tento výčet obsahuje názvy parametrů přítomné v požadavku.Výčet getHeaderNames(): Vytvoří výčet obsahující názvy hlaviček přítomných v tomto požadavku.HttpSession getSession (vytvoření logické hodnoty): Výsledkem metody HttpSession getSession(boolean create) je aktuální HttpSession související s tímto požadavkem. Pokud v daném okamžiku není přítomna žádná relace a logická hodnota pro vytvoření je pravdivá, výsledkem této metody bude nová relace.HttpSession getSession(): Tato metoda vrací aktuální relaci související s požadavkem. Pokud relace není dostupná, tato metoda vytvoří novou a vrátí ji.Object getAttribute(název řetězce): Vytváří hodnotu atributu, který má název jako objekt. Pokud pro atribut neexistuje žádný název, vrátí hodnotu NULL.Místní getLocale (): Vrátí Locale, kde klient přijme obsah.Řetězec getAuthType(): Tato metoda určuje název schématu autentizace, který se používá k uchování servletu. Pokud JSP není zachován, vrátí hodnotu NULL.ServletInputStream getInputStream(): ServletInputStream načte tělo požadavku v binární podobě.String getContent Type(): Tato metoda vrací MIME typ těla požadavku. Pokud typ není znám, vrátí hodnotu NULL.Řetězec getCharacterEncoding(): Název kódování znaků přítomný v těle požadavku je vytvořen touto metodou.String getHeader (název řetězce): Vrací hodnotu hlavičky požadavku ve formátu String.Řetězec getContextPath(): Vytváří část požadavku URI.String getParameter (název řetězce): Výsledkem této metody je hodnota parametru požadavku ve formuláři String. Pokud parametr požadavku neexistuje, vrátí hodnotu NULL.String getMethod(): Metoda String getMethod() vytváří název požadavku HTTP, který byl použit s aktuálním požadavkem.String getProtocol(): Požadavky v JSP používají určité protokoly. Tato metoda vrací název a verzi protokolu.Řetězec getPathInfo(): Když klient zadá požadavek, odešle URL. Metoda String getPathInfo() vrací další informace o cestě související s adresou URL.Řetězec getRemoteAddr(): Výsledkem této metody je adresa internetového protokolu (IP) klientského systému.Řetězec getRemoteUser(): Vytváří přihlašovací jméno ověřeného klienta, který zadává požadavek. Pokud uživatel není ověřen, vrátí hodnotu NULL.Řetězec getRemoteHost(): Má-li být načteno jméno klienta, který zadává požadavek, lze použít metodu String getRemoteHost().Řetězec getRequestedSessionId(): Tato metoda vrací ID relace, které je definováno klientem.Řetězec getRequestURI(): Vrátí adresu URL požadavku z názvu protokolu.String[] getParameterValues(název řetězce): Tato metoda vrací pole obsahující objekty String. Tyto objekty obsahují hodnoty všech parametrů přítomných v požadavku.Řetězec getServletPath(): Vrátí také adresu URL požadavku.int getContentLength(): Vrací délku těla požadavku v bajtech.boolean isSecure(): Vrátí booleovskou hodnotu určující, zda je požadavek podán prostřednictvím zabezpečeného kanálu či nikoli.int getServletPort(): Tato metoda udává číslo portu požadavku.int getIntHeader(název řetězce): Výsledkem této metody je hodnota hlavičky požadavku v celočíselném formátu.

Příklad požadavku záhlaví HTTP

Zde uvidíme jeden přímý příklad požadavku HTTP hlavičky. V příkladu požadavku HTTP hlavičky použijeme getHeaderName() metoda pro čtení informací hlavičky HTTP. Vytváří výčet obsahující informace HTTP hlavičky požadavku. Metoda hasmoreElements() určuje, kdy se má metoda nextElement() zastavit.

Příklad:

|_+_|

Napište výše uvedený kód do main.jsp a přistupovat k němu za účelem čtení informací v záhlaví požadavku HTTP. Poskytne vám všechny informace o hlavičce požadavku HTTP, jako je hostitel, připojení, kontrola mezipaměti, uživatelský agent, přijetí, jazyk přijetí a kódování přijetí.

Odezva serveru JSP

Když klient nebo prohlížeč požaduje webovou stránku, webový server odpoví na požadavek HTTP nazývaný odpověď. Tato odpověď obsahuje prázdný řádek, dokument, stavový řádek a nějaké záhlaví odpovědi. Odpověď HTTP vypadá následovně:

|_+_|

Ve výše uvedeném kódu je verze HTTP HTTP/1.1 , 200 je stavový kód a OK je zpráva do stavového kódu. Existuje několik hlaviček odpovědí, jejichž verzi HTTP/1.1 odesílá webový server do prohlížeče. Tyto hlavičky odpovědí jsou cache-control, allow, content-disposition, connection, content-length, content-encoding, content-language, expires, content-type, location, last-modified, set-cookie, refresh a retry-after .

Objekt HttpServletResponse

javax.servlet.http.HttpServletResponse vytvoří instanci nazvanou objekt odpovědi. Tento objekt je vytvořen webovým serverem, který představuje odpověď zaslanou klientovi. Objekt odpovědi je také přidružen k rozhraním požadovaným pro vytvoření hlaviček HTTP. Programátoři mohou do programu JSP přidávat nové soubory cookie, stavové kódy HTTP a datová razítka. Následují některé metody nebo funkce používané pro přidání hlavičky HTTP odpovědi do programu servletu.

    String encodeURL(String url): Tato metoda se používá pro kódování konkrétní adresy URL, která obsahuje ID relace. Pokud je vyžadováno kódování, tato metoda odešle adresu URL beze změny.Řetězec encodeRedirectURL(String url): Adresa URL obsažená ve funkci sendRedirect je zakódována. Pokud kódování není vyžadováno, adresa URL zůstane nezměněna.boolean isCommitted(): Tato funkce má za následek booleovskou hodnotu určující, zda byla odpověď potvrzena.boolean obsahujeHeader (název řetězce): Výsledkem je také booleovská hodnota určující, zda byla nastavena hlavička odpovědi s názvem.void addHeader(název řetězce, hodnota řetězce): Tato funkce obsahuje hlavičku odpovědi s jejím názvem a hodnotou.void addDateHeader(název řetězce, dlouhé datum): Obsahuje také novou hlavičku odpovědi s názvem a datem.void flushBuffer(): Tato funkce nuceně zapíše obsah přítomný ve vyrovnávací paměti klientovi.void addIntHeader(název řetězce, hodnota int): Tato funkce obsahuje novou hlavičku odpovědi s jejím názvem a celočíselnou hodnotou.void resetBuffer(): Odebere nebo vymaže veškerý obsah ze základní vyrovnávací paměti, ale nevymaže záhlaví a stavové kódy.void reset(): Tato funkce odstraní nebo vymaže všechna data ve vyrovnávací paměti spolu se stavovým kódem a záhlavími.void sendError(int sc, String msg): Výsledkem je, že chybová zpráva má konkrétní stav a je odeslána klientovi.void sendError(int sc): Tato funkce také přenese chybovou zprávu klientovi se specifickým stavovým kódem odstraněním dat z vyrovnávací paměti.void setBufferSize (int size): Tato funkce fixuje velikost vyrovnávací paměti pro tělo odpovědi.void setIntHeader(název řetězce, hodnota int): Tato funkce nastavuje hlavičku odpovědi s jejím názvem a specifickou celočíselnou hodnotou.

Příklad odpovědi záhlaví HTTP

Zde je příklad odpovědi hlavičky HTTP, která používá funkci setIntHeader() pro nastavení hlavičky Refresh.

Příklad:

|_+_|

Uložte výše uvedený kód s názvem souboru, main.jsp . Po každých 4 sekundách se zobrazí aktuální čas systému, jak je uvedeno níže.

Výstup:

|_+_|

Stavový kód HTTP v JSP

Požadavek HTTP a odezva HTTP mají stejnou strukturu:

  • Za prvé, zahrnuje stavový řádek, návrat vozíku (CRLF) a posun řádku. Line Feed znamená nový řádek.
  • Další je nula nebo více řádků záhlaví a návrat vozíku (CRLF).
  • Pak přijde prázdný řádek, CRLF.
  • A konečně, tělo zprávy je nepovinné. Tělo zprávy může obsahovat výstup dotazu, data dotazu nebo soubor.

Ve výše uvedené části jsme viděli, jak vypadá hlavička odpovědi.

Webový server vrací některé HTTP kódy a jejich příslušné zprávy klientovi. Tyto stavové kódy HTTP a jejich zprávy jsou popsány v následující části.

Kód Zpráva
100Pokračovat
101Přepínací protokoly
200OK
201Vytvořeno
202Přijato
203Neautoritativní informace
204Žádný obsah
205Obnovit obsah
206Částečný obsah
300Více možností
301Pohybuje se trvale
302Nalezeno
303Viz Ostatní
304Nezměněno
305Použij proxy
306Nepoužitý
307Dočasné přesměrování
400Špatný požadavek
401Neoprávněný
402platba vyžadována
403Zakázáno
404Nenalezeno
405metoda není povolena
406Nepřijatelné
407Je vyžadováno ověření proxy
408Zažádat o timeout
409Konflikt
410Pryč
411Požadovaná délka
412Předpoklad se nezdařil
413Entita požadavku je příliš velká
414Adresa URL požadavku je příliš dlouhá
415Nepodporovaný typ média
417Očekávání se nezdařilo
500Interní chyba serveru
501Není implementováno
502Špatná brána
503služba je nedostupná
504Časový limit brány
505Verze HTTP není podporována

K nastavení kódu stavu HTTP se používají tři různé metody, jak je uvedeno níže:

    public void setStatus(int statusCode): Nastavuje stavový kód, který jako argument používá celočíselnou hodnotu pro stavový kód.public void sendRedirect (String url): Tato funkce vytvoří odpověď s kódem 302. Vygeneruje také hlavičku Location, která specifikuje URL nového dokumentu.public void sendError(int kód, řetězcová zpráva): Tato funkce přenáší stavový kód HTTP 404 do prohlížeče pomocí krátké zprávy.

Uvidíme jeden přímý příklad, který klientovi zobrazí kód chybového stavu 407.

Příklad:

|_+_|

Výše uvedený kód zobrazí stavový kód HTTP 407 s Potřebujete ověření zpráva.

Zpracování formulářů v JSP

Mnohokrát potřebujeme přenést data z prohlížeče na webový server a nakonec do programu. Existují dva způsoby, GET a POST, které prohlížeč používá k přenosu těchto dat na webový server. Tyto čtyři metody se používají pro čtení dat pomocí JSP, getParameter() , getParameterValues() , getParameterNames() , a getInputStream() .

Metoda GET

Metoda GET se používá pro přenos zakódovaných uživatelských informací a jejich připojení k požadavku na stránku. Zakódované informace o uživateli a požadavek na stránku jsou odděleny symbolem ‚?‘. Tato metoda je výchozí pro přenos informací o uživateli na webový server z prohlížeče. Vrací řetězec, který bude přítomen v Umístění: krabice prohlížeče. Pokud máte důvěrná data, jako jsou hesla, nepoužívejte metodu GET.

Příklad metody GET pomocí URL

Vytvořme URL, které předá dvě různé hodnoty programu GetURLForm pomocí metody GET.

|_+_|

Níže uvedený kód zapíšeme do souboru main.jsp. Pro čtení dat pomocí JSP jsme použili metody getParameter().

Příklad:

|_+_|

Výstup:

|_+_|

Manipulace se soubory cookie

Co jsou cookies? Cookies jsou textové soubory přítomné na ploše klienta a používají se pro účely sledování. Soubory cookie HTTP jsou podporovány JSP. Zde uvidíme anatomii HTTP cookie, jak nastavit nebo resetovat cookie a metody v souborech cookie.

Anatomie cookie

Soubor cookie je vždy přítomen v hlavičce HTTP. Když JSP nastaví cookie do hlavičky HTTP, má následující strukturu.

|_+_|

V Set-Cookie záhlaví výše, můžete pozorovat jméno-hodnota pár, datum v GMT, a cesta a doména . Tento pár název-hodnota je přítomen ve formátu URL. Dalším prvkem ve výše uvedeném souboru cookie je vyprší , který říká prohlížeči, aby zapomněl tento soubor cookie po zadaném datu a čase.

Metody cookies

Níže jsou uvedeny některé významné metody související se soubory cookie spolu s jejich popisy.

    veřejný řetězec getDomain(): Tato funkce načte doménu souboru cookie.public void setDomain (vzor řetězce): Pomocí této funkce můžete nastavit doménu pro váš soubor cookie.public int getMaxAge(): Načte maximální stáří cookie. Věk je uveden v sekundách.public void setMaxAge (int expirace): Tato funkce nastaví dobu, která uplyne, než vyprší platnost souboru cookie.veřejný řetězec getValue(): Načte hodnotu souboru cookie.veřejný řetězec getName(): Načte název cookie. Po vytvoření nelze název souboru cookie změnit.public void setValue(String newValue): Tato funkce opravuje hodnotu cookie.veřejný řetězec getPath(): Výsledkem je cesta spojená se souborem cookie.public void setPath (řetězec uri): Tato funkce nastavuje cestu k souboru cookie.public String getComment(): Výsledkem je komentář, který specifikuje účel nebo použití souboru cookie. Pokud cookie nemá žádný komentář, vrátí hodnotu NULL.public void setSecure (booleovský příznak): Určuje booleovskou hodnotu definující, zda se má cookie odeslat přes šifrované připojení.public void setComment (účel řetězce): Tato funkce nastavuje komentář pro cookie s uvedením jeho účelu.

Jak nastavit cookie?

Existují tři jednoduché způsoby nastavení cookie. Tyto metody jsou vysvětleny níže:

  1. Nejprve vytvořte objekt cookie. Zavolejte konstruktor souboru cookie s názvem souboru cookie a odpovídající hodnotou. Název i hodnota jsou uvedeny v řetězci.
|_+_|

Při vytváření souboru cookie si musíte pamatovat, že v názvu a hodnotě by neměla být žádná prázdná místa nebo speciální symboly.

  1. Po vytvoření souboru cookie nyní nastavíme jeho maximální věk pomocí setMaxAge funkce.
|_+_|

Výše uvedená funkce nastavuje maximální stáří souborů cookie na 24 hodin.

  1. Nakonec použijte response.addCookie k přidání cookie do hlavičky HTTP odpovědi.
|_+_|

Závěr

JavaServer Pages nebo Jakarta Server Pages (JSP) je technologie umožňující vývojářům vytvářet dynamický obsah nebo webové stránky. JSP má několik pokročilých výhod, protože se snadno udržuje, vyžaduje méně kódu než servlety a nabízí rychlý vývoj. Tento článek je rychlým průvodcem, jak se naučit JSP pro začínající uživatele.

Pokryli jsme všechny aspekty JSP, které se začínající vývojáři musí naučit. Před spuštěním jakéhokoli programu JSP nejprve nastavte prostředí Java a cestu ke třídě Tomcat. Zde je kompletní návod o všech základních prvcích JSP.

Máme přece a Rychlý průvodce Teorií grafů který podrobně hovoří o všech podrobnostech souvisejících s teorií grafů.