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 | ||