Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Język C/C++ Funkcje.
Programowanie obiektowe
Programowanie Wizualne WYKŁAD 5
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Języki programowania C++
Nowa wersja C# Autor: Piotr Sobczak
Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.
Tworzenie ASP.NET Web Form
Arkadiusz Twardoń ZTiPSK
Kurs Pascala – spis treści
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
C++ wykład 2 ( ) Klasy i obiekty.
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
.NET Remoting Łukasz Zawadzki.
Systemy zarządzania treścią CMS
Technologia ASP.NET.
Podstawy C# Grupa .NET PO.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Aplikacje Internetowe
Podstawy programowania
A ctive S erver P ages Technologia dostępu do danych.
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
Procedury i funkcje.
Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt.
INTERNETOWE USŁUGI INFORMACYJNE
Autor: Kamil Szafranek
Programowanie Windows na przykładzie C# część 1
Technologie internetowe II
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
STEROWANIE Ale nie tylko
Andrzej Repak Nr albumu
Wykonał: Michał Nikołajuk
C# Platforma .NET CZ.3 Kuba Ostrowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Internetowe surfowanie
Podstawy informatyki 2013/2014
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Język C# .NET Maria DEMS.
Projektowanie stron WWW
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Zmienne i typy danych w C#
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Technologie internetowe
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Portal edukacyjny J A V A S C R I P T JĘZYK PROGRAMOWANIA STRON HTML Opracowała: Anna Śmigielska.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Aplikacje Baz Danych ASP.NET
HTML.  Wprowadzenie  Protokół HTTP  Język HTML  Definicja typu dokumentu  Nagłówek strony  Formatowanie treści dokumentu  Definiowanie struktury.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Programowanie Obiektowe – Wykład 6
Programowanie Obiektowe – Wykład 1
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Aplikacje i usługi internetowe
Aplikacje i usługi internetowe
Wprowadzenie do programowania obiektowego
Dane, zmienne, instrukcje
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych

Skrypty serwerowe Technologie PHP, ASP (JavaScript, VBScript), ASP.NET (JScript, C#, J#, VB.NET ….), JSP (Java) Wykonywane przez serwer WWW Brak wymagań względem przeglądarki Ukryte kody źródłowe Konieczność komunikacji przez sieć Serwer musi udostępniać technologię Możliwość współpracy z bazami danych Programy osadzone w kodzie HTML

Model komunikacji Żądanie HTTP Odpowiedź HTTP (HTML, JPG) Klient Serwer

Dlaczego ASP.NET ? Dowolny język programowania.NET (ok. 50) Filozofia obiektowa sterowana zdarzeniami Możliwość automatyzacji budowy serwisu Możliwość pracy komponentowej Skrypty kompilowane Możliwości buforowania treści Wsparcie dla XML i WebSerwisów Praca w środowiskach Windows i … Linux (projekt MONO) Darmowe środowiska programistyczne (Visual Web Developer, #develop)

Język C# Język opracowany dla Microsoft przez Andersa Hejlsberga Język łączący w sobie rozwiązania C++ i Java Obecnie jest z najsilniej rozwijanych języków programowania

Operatory Arytmetyczne: +,-,*,/,++,-=,+=,*=,/= Porównań: ==,!=,, = Logiczne: &&, ||, !

Instrukcje for (wyr1;wyr2;wyr3) { /* blok */} while (warunek) { /* blok */ } do { /* blok */} while (warunek) if (warunek) { /* blok1 */} else { /*blok2*/} switch (zmienna) { case 1: { /*blok1*/};break; case 2: { /*blok2*/};break; default: { /*blok*/};}

Zmienne Język C# wykorzystuje jawne deklaracje zmiennych i typowanie Typy podstawowe: int float double long short byte char string bool Deklaracja zmiennych: int a; string imie,nazwisko; double x=5;

Konwersja typów Konwersja niejawna: int a=5; double b=a; Rzutowanie: double a=5; int b=(int)a; Konwersja: string a=‘5’; int b=Convert.ToInt32(a);

Deklaracja metody typ_zwracany Nazwa(typ1 arg1,typ2 arg 2…) { //Ciało metody } Deklaracja metody zawsze musi określać typ zwracanych danych. Jeśli metoda nic nie zwraca, zwracany typ określa się jako void. Brak argumentów metody zapisuje się przy pomocy pustej listy parametrów () po jej nazwie. Prawidłowe wywołanie metody w kodzie, musi posiadać wszystkie argumenty wejściowe. Zarówno argumenty wejściowe, jak i zmienna, do której zostanie podstawiony wynik metody, muszą być zgodne pod względem typu danych z informacją podaną w deklaracji metody. nagłówek

Metoda bezargumentowa nie zwracająca wartości void Przywitaj() { Console.WriteLine("Hello"); } Przywitaj(); }

Metoda argumentowa nie zwracająca wartości static void Iloczyn(int a,int b) { Response.Write ("Iloczyn="+a*b); } Iloczyn(5,6);

Metoda argumentowa zwracająca wartość int Iloczyn(int a,int b) { return a*b; } int x=Iloczyn(5,6)+4; Response.Write("5*6+4="+x);

Skrypt kliencki i serwerowy Skrypt // SKRYPT KLIENCKI for (i=0;i '); <% // SKRYPT SERWEROWY for (int i=0;i "); %> Skrypt widziany przez serwer Skrypt // SKRYPT KLIENCKI for (i=0;i '); Skrypt widziany przez przeglądarkę Wynik

Osadzanie skryptu serwerowego INLINE w kodzie HTML Dzisiejsza data to: Jako blok - dla dynamicznej generacji treści <% for (int i=0; i "); %> Jako blok.. - do definicji metod, zdarzeń itd. void Przywitaj(string imie) { Respone.Write("Witaj "+imie); } ……

Osadzanie skryptu serwerowego Dołączanie zewnętrznego pliku kodu using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Strona : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } Strona.aspx.cs

Dyrektywy Język Wyszukiwane błędów wykonania Przestrzeń nazw

Obiekt Page Obiekt Page reprezentuje stronę przygotowywaną na serwerze przed wysłaniem jej do przeglądarki użytkownika. Obiekty zagnieżdżone: Request – umożliwia dostęp do informacji o żądaniu wysłanym z przeglądarki Response – obiekt reprezentujący wszystkie dane wysyłane z serwera do przeglądarki (treść strony, cookies, przekierowania) Server – obiekt pozwalający uzyskać informacje o serwerze i jego zasobach

Obiekt Response Metody: Write(x) – dopisuje x do strony HTML WriteFile(nazwa) – dodaje zawartość pliku do pakietu HTTP End() – zakończenie przetwarzanie i wysłanie pakietu HTTP Redirect(url) – wysyła do przeglądarki polecenie przekierowania na adres URL Żądanie do strony1.aspx Nagłówek HTTP z przekierowaniem Żądanie do strony1.aspx REQUEST Zawartość strony strona2.aspx

Dynamiczna generacja HTML Test <% Response.Write(" "); for (int i=1;i<10;i++) { Response.Write(" "); for (int j=1; j<10;j++) Response.Write(" "+(i*j)+" "); Response.Write(" "); } %> Test <% for (int i=1;i<10;i++) { %> <% for (int j=1; j<10;j++) { %>

Automatyczne przekierowanie Test <% System.Random los=new System.Random(); switch (los.Next(0,3)) { case 1: Response.Redirect(" break; case 2: Response.Redirect(" break; case 3: Response.Redirect(" break; default: Response.Wrtie(" Zostajemy tutaj "); break; } %>

Obsługa daty i czasu – klasa DateTime Metody: ToString() – konwersja na tekst daty i czasu ToLongTimeString() – konwersa na pełny tekst czasu ToShortTimeString() – konwersja na skrócony tekst czasu ToLongDateString() – konwersa na pełny tekst czasu ToShortDateString() – konwersja na skrócony tekst czasu Właściowści: Hour – godzina Minute – minuta Second – sekunda Year – rok Month – miesiąc (1-12) Day DayOfWeek (Monday, Tuesday…) DayOfYear Skrypt <% DateTime czas=DateTime.Now; Response.Write(czas.ToLongTimeString() + " "); Response.Write(czas.Year + "-" + czas.Month + "-" + czas.Day); %>

Obiekt Request Właściwości: Form – kolekcja pól formularza wysłanych metodą POST QueryString – kolekcja pól formularza wysłanych modą GET Browser – informacje o przeglądarce użytkownika i jej możliwościach Browser: Borwser – Nazwa (IE) Type – Typ (IE7) Version – Wersja (7.0) MajorVersion – Numer główny wersji (7) MinorVersion – Numer poboczny wersji (0) Beta – Wersja beta (false) Crawler – Robot internetowy (false) Win32 – Windows 32-bitowy (true) Frames – Dostępne ramki (true) Tables – Dostępne tabele (true) Cookies – Dostępne ciasteczka (true) EcmaScriptVersion – dostępna wersja JS (1.2)

Przetwarzanie danych z formularza Klient Serwer Pytanie.htmlOdpowiedz.aspx Dane z formularza Wygenerowany kod HTML stanowiący odpowiedz

Przetwarzanie danych z formularza Pytanie Imię: Nazwisko: pytanie.htm Odpowiedź <% Response.Write("Przysłano: \n"+Request.QueryString); %> odpowiedz.aspx Przysłano: imie=Jan&nazwisko=Kowal Wynik

Przetwarzanie danych z formularza Pytanie Imię: Nazwisko: pytanie.htm Odpowiedź <% Response.Write("Przysłano: \n"+Request.Form); %> odpowiedz.aspx Przysłano: imie=Jan&nazwisko=Kowal Wynik

Przetwarzanie danych z formularza Pytanie Imię: Nazw: pytanie.htm Odpowiedz <% Response.Write("Imię: "+Request.QueryString["imie”]+"<br"); Response.Write("Nazwisko:" +Request.QueryString["nazwisko”]+"<br"); %> odpowiedz.aspx Imię: Jan Nazwisko:Kowal Wynik

Przetwarzanie danych z formularza Pytanie Imię: Nazw: pytanie.htm Odpowiedz <% Response.Write("Imię: "+Request.Form["imie”]+"<br"); Response.Write("Nazwisko:" +Request.Form["nazwisko”]+"<br"); %> odpowiedz.aspx Imię: Jan Nazwisko:Kowal Wynik

Klasa Math Metody: Sqrt(x) Abs(x) Pow(a,n) Round(x), Ceiling(x), Floor(x) Sin(rad),Cos(rad), Tan(rad) Sinh(rad), Cosh(rad), Tanh(rad) Asin(x),Acos(x),Atan(x), Atan2(x,y) Log(a,pod), Log10(x) Max(x1,x2), Min(x1,x2) Exp(n) Właściwości: E PI

Obliczenia na danych z formularza Wysokość: Promięń: pytanie.htm Objętość walca <% double h,r,V; h=Convert.ToDouble(Request.QueryString["wys”]); r=Convert.ToDouble(Request.QueryString["prom"]); V=Math.PI*Math.Pow(r,2)*h; Response.Write("Objętość wynosi "+V.ToString("F2”)+" cm 2 "); %> Nowe dane odpowiedz.aspx

Strona samodzielna Objętość walca Wysokość: Promięń: <% if (Request.QueryString.Count > 0) { double h, r, V; h = Convert.ToDouble(Request.QueryString["wys"]); r = Convert.ToDouble(Request.QueryString["prom"]); V = Math.PI * Math.Pow(r, 2) * h; Response.Write("Objętość wynosi " + V.ToString("F2") + " cm 2 "); } %>

Wyrażenia regularne – klasa RegEx Przestrzeń nazw: System.Text.RegularExpressions RegEx wyrazenie=new Metoda IsMatch string tekst="Hello"; Regex wyrazenie=new if (wyrazenie.IsMatch(tekst)) Response.Write("OK"); else Response.Write("Źle"); Metoda Matches string tekst = "Mój pesel to a twój to "; Regex wyrazenie=new foreach (Match m in wyrazenie.Matches(tekst)) Response.Write(m.Value+" "); Metoda Replace string tekst = "Ala ma kota a Ola ma psa"; Regex wyrazenie=new Response.Write(wyrazenie.Replace(tekst,"posiada"));

Obiekt Server Metody: Transfer – przekierowanie obsługi strony po stronie serwera MapPath – tłumaczenie ścieżki względnej na ścieżkę fizyczną Żądanie do strony1.aspx Zawartość strony strona2.aspx TRANSFER

Mapowanie ścieżki Dysk C: Folder Serwisy Folder DaneStudentów Stona index.aspx Stona opis.aspx Serwer Katalog wirtualny STRONA DOMYŚLNA Server.MapPath("~”)  C:\Serwisy\DaneStudentów Server.MapPath(‘~/opis.aspx”);  C:\Serwisy\DaneStudentów\opis.aspx Server.MapPath(‘opis.aspx”);  C:\Serwisy\DaneStudentów\opis.aspx

Przekazywanie informacji przez hiperłącze Wybierz wielkość tabliczki mnożenia: <% for (int i = 5; i <= 9; i++) Response.Write(" Wielkość " + i + " "); %> <% if (Request.QueryString["wielkosc"] != null) { Response.Write(" "); int w = Convert.ToInt32(Request.QueryString["wielkosc"]); for (int i = 1; i <= w; i++) { Response.Write(" "); for (int j = 1; j <= w; j++) { Response.Write(" "); Response.Write(i*j); Response.Write(" "); } Response.Write(" "); } Response.Write(" "); } %>

ASP.NET a PHP Kwadrat <% if (Request.Form["bok"] != null) { double a = Convert.ToDouble(Request.Form["bok"]); Response.Write("Pole=" + (a * a)); } %> Kwadrat <? if (isset($_POST["bok”]) { $a = $_POST["bok”]; print "Pole=".($a * $a); } ?>

Literatura M. Mysior: Wprowadzenie do ASP.NET 2.0. Ćwiczenia praktyczne, NAKOM 2008 MCTS Self-Paced Training Kit (Exam ): Microsoft.NET Framework ASP.NET

KONIEC