This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
server_side_script [2017/01/08 17:39] efox |
server_side_script [2017/01/08 18:55] (current) efox |
||
---|---|---|---|
Line 66: | Line 66: | ||
* nevyžadují striktě typování proměnných | * nevyžadují striktě typování proměnných | ||
* program zpravidla promíchám s HTML kódem | * program zpravidla promíchám s HTML kódem | ||
- | ===== JSP (od SUN) ===== | ||
- | ===== ASP (od Microsoft) ===== | ||
===== PHP ===== | ===== PHP ===== | ||
* skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek | * skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek | ||
Line 73: | Line 71: | ||
* obsahuje: rozsáhlé knihovny fcí pro zpracování textu, grafiky a práci se soubory, přístup k většině databázových serverů (MySQL, ODBC, Oracle, PostfreSQL, MMSQL), podporu celé řady protokolů (HTTP, SMTP, FTP, IMAP, POP3) | * obsahuje: rozsáhlé knihovny fcí pro zpracování textu, grafiky a práci se soubory, přístup k většině databázových serverů (MySQL, ODBC, Oracle, PostfreSQL, MMSQL), podporu celé řady protokolů (HTTP, SMTP, FTP, IMAP, POP3) | ||
* je dynamicky typový , má heterogenní pole, instalaci PHP na webovém serveru můžu provést buď pomocí přímého modulu (SAPI) pro webový server (APACHE, Netscape, | * je dynamicky typový , má heterogenní pole, instalaci PHP na webovém serveru můžu provést buď pomocí přímého modulu (SAPI) pro webový server (APACHE, Netscape, | ||
+ | * uživatel může obdržet z jednoho HTML dokumentu s PHP skripty pokaždé jiný výsledek, aniž by se dozvěděl, jak je generován | ||
+ | ===== ASP.NET (microsoft) ===== | ||
+ | * součást .NET Frameworku pro tvorbu webových aplikací a služeb | ||
+ | * založen na CLR (Common Language Runtime) - sdílen všemi aplikacemi postavenými na .NET Frameworku | ||
+ | * aplikace jsou rychlejší (u skriptovacích stránek jsou stránky při ∀ přístupu znovu a znovu parsovány) | ||
+ | * ASP.NET WebForms - ulehčuje přechod od programování klasických aplikací pro Windows do prostředí webu: | ||
+ | * Controls, Button, Labels | ||
+ | * prvkům lze přiřazovat vlastnosti či zachytávat události | ||
+ | * View State, Session State | ||
+ | * je to lepší verze než ASP, novější!!! | ||
+ | * díky kompilovanému kódu běží aplikace rychleji a více chyb je zachyceno už při vývoji | ||
+ | * uživatelsky definované ovládací prvky lze použít jako šablony => významná redukce duplicity kódu | ||
+ | * můžu si vybrat hodně programovacích jazyků | ||
+ | * | ||
+ | ==== ASP ==== | ||
+ | * ACTIVE SERVER PAGES | ||
+ | * technologie nezávislá na programovacím jazyce | ||
+ | * od Microsoftu | ||
+ | * kód je vykonáván na straně serveru | ||
+ | * programovací jazyky: VBScript, Jsript | ||
+ | * pomocí ASP lze kombinovat HTML stránky, skripty, COM komponenty -> interaktivní webové stránky nebo výkonné webové aplikace | ||
+ | ==== DOT NET ==== | ||
+ | * soubor technologií v softwarových produktech, které tvoří celou platformu, dostupná pro web, desktop, mobile | ||
+ | * základní komponentou je Microsoft .NET Framework - prostředí potřebné pro běh aplikací a nabízející jak spouštěcí rozhraní, tak potřebné knihovny | ||
+ | * je jedno jaký programovací jazyk použiju (C#, VB.NET) | ||
+ | * protože vždycky si to překládá do mezijazyka | ||
+ | * **CIL (Common Intermediate Language)** | ||
+ | * standardizovaná specifikace jádra .NET | ||
+ | * nezávislý na HW platformě | ||
+ | * specifikace definuje prostředí, | ||
+ | * **CTS (Common Type System)** | ||
+ | * sada datových typů a operací, které se používají v mnoha programovacích jazycích | ||
+ | * metadata | ||
+ | * informace o struktuře programu je popsána jazykově nezávislým způsobem, takže může být zpřístupněna z různých jazyků a prostřednictvím různých nástrojů | ||
+ | * **CLS (Common Language Specification)** | ||
+ | * sada základních pravidel, která by měl splňovat každý jazyk vyhovující specifikaci CIL | ||
+ | * VES (Virtual Execution System) | ||
+ | * používá metadata k tomu, aby zajistil spolupráci samostatně vytvořených kusů kódu za běhu programu | ||
+ | ===== JSP (Sun) ===== | ||
+ | {{: | ||
+ | ==== JAVA ==== | ||
+ | * platformě nezávislý programovací jazyk | ||
+ | * objektově orientovaný | ||
+ | * je to i platforma | ||
+ | * obsahuje velmi mnoho již hotových knihoven tříd - pro vytváření grafických rozhraní, přes třídy pro přístup k databázím, | ||
+ | * + knihovny a funkce ve formě API | ||
+ | * VM (Virtual Machine) | ||
+ | * abstraktně definované prostředí spolu s příslušným emulátorem -> pro různé OS pouze jedno rozhraní -> jednotlivá volání za běhu převáděna do skutečné platformy | ||
+ | * **co z toho můžu udělat:** | ||
+ | * **applety (spouští se jako část stránky)** | ||
+ | * **desktop aplikace** | ||
+ | * **CGI aplikace** (spustitelný program, který zpracuje předané parametry a výsledek zapíše jako na standardizovaný výstup) | ||
+ | * **Java Servlety a JavaServer Pages (JSP)** (umožňují na straně serveru dynamické generování dokumentů jako HTML, XML) | ||
+ | * platformy | ||
+ | * Standard Edition - pro stolní PC | ||
+ | * Enterprise Edition - pro aplikační servery | ||
+ | * Micro Edition - pro mobily, mp3 apod | ||
+ | |||
+ | ==== Servlet a JSP ==== | ||
+ | * //Java Servlet Pages// | ||
+ | * Servlet = program napsaný v Javě a běžící na straně serveru | ||
+ | * JSP = technologie od SUNu pro tvorbu dynamických webových stránek na platformě Javy. Je to vyšší level abstrakce servletu. | ||
+ | * 1. dokument je při prvním zavolání přeložen do jazyka Java -> vzniká servlet (.java) | ||
+ | |||
+ | === elementy JSP === | ||
+ | * **skriptovací elementy a proměnné (kód)** | ||
+ | * deklarace, výraz, skriplet :D | ||
+ | * **direktivy** | ||
+ | * instrukce, jejímž prostřednictvím se snažíme kontejneru sdělit, jak má sestavit určité pasáže programového kódu, které se stanou součástí nového servletu | ||
+ | * formát direktivy: <%@ direktiva atribut1=“hotnota1” ... atributN=“hodnotaN” %> | ||
+ | * //Include, Taglib, Page// | ||
+ | * **intrukce (akce)** | ||
+ | * založeny na XML | ||
+ | * **elementy XML** | ||
+ | |||
+ | === implicitní objekty === | ||
+ | * Určité užitečné objekty, názvy proměnných a metod jsou na stránce JSP tvořeny automaticky - jsou součástí procesu překladu stránky na zdrojový kód (servlet) | ||
+ | * nelze je použít v deklaracích | ||
+ | * .request, response, out, session, application, | ||
+ | |||
+ | == servlety == | ||
+ | * Servlety implementují princip požadavek-odpověď | ||
+ | * Java Servlet API - množina tříd definující standardní rozhraní pro obsluhu požadavků a odpovědí mezi klientem a serverem | ||
+ | |||
+ | * **TOMCAT** | ||
+ | * jeden z nejpoužívanějších Servlet/JSP kontejnerů pod Javou | ||