Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Internet Programcılığı II

Benzer bir sunumlar


... konulu sunumlar: "Internet Programcılığı II"— Sunum transkripti:

1 Internet Programcılığı II
Sibel Öztan

2 Bilinmesi Gerekenler World Wide Web Consortium
HTML (HyperText Markup Language) Cascading Style Sheets (CSS) Temel programla C, VB, Javascript, ASP vb. SQL (Structured Query Language) SqlServer MySql

3 Ders Programı? ASP.NET Framework Java Seam Framework
Java Seam Framework

4 Temel Web Kavramları İstemci (Client) Browser (Tarayıcı) Web Server
Application Server (Uygulama Sunucusu) TCP/IP (Transport Control Protocol / Internet Protocol) HTTP (HyperText Transfer Protocol) FTP (File Transfer Protocol) SMTP (Send Mail Transfer Protocol) POP (Post Office Protocol)

5 Web Nasıl Çalışır? WWW, Internet üzerinden bağlı birçok istemci ve sunucudan oluşur Bilgisayarlar birbirleriyle HTTP kullanarak iletişim kurar Bir istemci bir web kaynağına HTTP formatında bir istek gönderir Web sayfası Resim dosyası Javascript, CSS dosyası Bir sunucu yanıt verir

6 Bilmecenin Parçaları Her istemcinin bir tarayıcısı vardır
Kişisel bilgisayarlar (IE, Safari, Firefox, Opera) Cep telefonları Diğer araçlar, PDA (Personal Digital Assistant) gibi Her sunucuda HTTP sunucusu olarak adlandırılan bir yazılımını çalışır IIS (Internet Information Services) (Windows tabanlı) Apache (Tüm işletim sistemleri için)

7 Statik Veri Almak (.htm, .html)

8 Statik Veri Almak (.htm, .html)

9 Veri Alma ve Gösterme

10 Veri Alma ve Gösterme

11 Bilmecenin Parçaları Her istemcinin bir tarayıcısı vardır
Kişisel bilgisayarlar (IE, Safari, Firefox, Opera) Cep telefonları Diğer araçlar, PDA (Personal Digital Assistant) gibi Her sunucuda HTTP sunucusu olarak adlandırılan bir yazılımını çalışır IIS (Internet Information Services) (Windows tabanlı) Apache (Tüm işletim sistemleri için)

12 Olası Dinamik Web Çözümleri
ASP ASP.NET PHP Java-based Servers Jboss Oracle Weblogic (önceden BEA Weblogic) IBM Websphere Adobe ColdFusion

13 VB ve C# ile MerhabaDunya
Add new item Place code in a separate file VB – C# Dosya adı 80 http 443 https Protected var1 As String = "VB'den merhaba!" protected string var1 = "C#'dan Merhaba!";

14 Development Web Server
Properties ID Port number : Use dynamic ports : false

15 Visual Studio – Genel Bakış
File: shift-alt-n New Web Site Edit : find & replace & bookmark View – Visual Tools, Error list Properties window F4 Window – Reset window layout Toolbox CSS Properties

16 Veritabanları Kurumsal Veritabanları (Enterprise Databases)
MySQL (ücretsiz) Oracle IBM DB2 SQL Server Ölçeklenebilir Sürücü desteği .Net kodlamasına paralel Kolay kimlik doğrulama için Windows güvenlik modeliyle entegre

17 Sql Server Kurulumu ve Gösterimi
Sql Server Express MyBookStore Visual Studio üzerinden Sql Server’ bağlanma Yeni query çalıştırma Gridview

18 Page With Code and With Code File
myLabel.Text = “Merhaba…"; On Page Load if (IsPostBack)… Panel Control (server side) Bind Control <%# fnameInput.Text %> Page_Load Page.DataBind();

19 C# ve VB için veri tipleri
System C# VB System.String string String System.Boolean bool Boolean System.Int32 int Integer System.Single float Single System.Double double Double

20 SimpleVars - HTML <h1>Programming in C#</h1>
<form id="form1" runat="server"> <asp:Panel runat="server"> <asp:TextBox ID="outputText" runat="server" TextMode="MultiLine" Height="175px" Width="400px"/> </asp:Panel> <asp:Button ID="runButton" runat="server" Text="Run Code" Width="95px" onclick="runButton_Click"/>         <asp:Button ID="clearButton" runat="server" Text="Clear Console" onclick="clearButton_Click"/> </form>

21 SimpleVars - Code <script runat="server"> protected void output(String value) { outputText.Text += value + Environment.NewLine; } protected void runButton_Click(object sender, EventArgs e) string localVar = "My local variable"; output(localVar); protected void clearButton_Click(object sender, EventArgs e) outputText.Text = ""; </script> ", "width": "800" }

22 ComplexVars (Object) - Code
<script runat="server"> protected void output(String value) { outputText.Text += value + Environment.NewLine; } protected void runButton_Click(object sender, EventArgs e) DateTime dt = new DateTime(); output(dt.ToString()); DateTime nowDt = DateTime.Now; output(nowDt.ToString()); protected void clearButton_Click(object sender, EventArgs e) outputText.Text = ""; </script> ", "width": "800" }

23 Loops (Döngüler) - Code
<script runat="server"> … protected void runButton_Click(object sender, EventArgs e) { int counter; for (counter = 1; counter < 3; counter++) output("The value of counter is " + counter); } while (counter > 0) counter--; </script> ", "width": "800" }

24 Functions - Code <script runat="server"> protected void output(String value) { outputText.Text += value + Environment.NewLine; } protected void runButton_Click(object sender, EventArgs e) int total = addValues(5, 3); output("The total is " + total); protected int addValues(int val1, int val2) return val1 + val2; …. </script> ", "width": "800" }

25 Trace Statements- Code
Page Language="C#" Trace="true"%> <script runat="server"> protected void output(String value) { outputText.Text += value + Environment.NewLine; } protected void runButton_Click(object sender, EventArgs e) int counter; for (counter = 1; counter < 3; counter++) output("The value of counter is " + counter); Trace.Write("The value of counter is " + counter); … </script> ", "width": "800" }

26 Commenting - Code <script runat="server"> … /* This function walks up and down a variable * */ protected void runButton_Click(object sender, EventArgs e) { int counter; for (counter = 1; counter < 3; counter++) output("The value of counter is " + counter); } //while (counter > 0) //{ // output("The value of counter is " + counter); // counter--; //} </script> ", "width": "800" }

27 Custom Controls Add new item -> Web User control
Register Src=“~/contrlos/Header.ascx” TagName=“Header” TagPrefix=“uc1”%> <uc1:Header runat=“server”> Registering controls globally in the web.config <add tagPrefix=“customControls” tagName=“header” src=“~/contrlos/Header.ascx”/> Adding public properties to a web control <script runat=“server”> public string heading=“Page Heading”; </script> <customControls:HeaderWithProps runat=“server” heading=“Title List”> ", "width": "800" }

28 Dinamik Veri Gösterimi (Presentanting Dynamic Data)
Gridview kontrolu Gridview paging (sayfa yönetimi) kontrolu Enable Paging Gridview ile veri güncelleme ReadOnly değişkeni Update statement DataList kontrolu ile veri gösterimi Dynamic expression Bağlama ifadeleri ile veri biçimlendirme (Formatting data with binding expressions)

29 Veri Giriş Sistemi - 1 Belirli bir veritabanı tablosunun önemli sütunlarını içeren liste sayfası Kullanıcının bu veritabanı tablosuna yeni bir kayıt eklemesine olanak veren linkler Seçilen bir kaydın detaylarını gösteren ve kullanıcının bu verilerde değişiklik yapmasına olanak sağlayan bir güncelleme sayfası

30 Veri Giriş Sistemi - 2 DetailsView kontrolunun kullanımı (alt-sift-enter tam sayfa) Auto Format, ItemStyle, HeaderStyle (koddan ve design üzerinden) DetailsView kontrolü ile veri eklemek Başlık bilgilerini değiştir Enable inserting DetailsView Properties -> DefaultMode (F4) Sayfa isteklerini yönlendirme HyperLink kontrolu DetailsViewInsertedEventArgs DetailsViewCommandEventArgs Güncelleme sayfası oluşturmak SelectParameters asp:QueryStringParameter Liste sayfasına “add new column” parametre girişi Veritabanından kayıt silmek GridView’da “Enable deleting”

31 Veri Giriş Sistemi - 3 Fonksiyon tanımı
protectedaccessmodifier voidreturntype DetailView_ItemInsertfunctionname(object sender, DetailsViewInsertedEventArgs e)functionsignature { if (e.AffectedRowsnumericproperty == 1) Response.Redirect("~/Authors.aspx"); } Event handler attribute eklemek OnItemInserted="DetailView_ItemInsert" İptal işlemi için ItemCommand event handler if (e.CommandName == "Cancel")

32 Veri Giriş Sistemi - 4 SelectCommand="SELECT [au_id], [au_lname], [au_fname], [phone], [address], [city], [state], [zip] FROM [authors] WHERE [au_id] Parametreyi almak için asp:QueryStringParameter (parametrenin geldiği yer) <SelectParameters> <asp:QueryStringParameter Name="au_id" QueryStringField="au_id" Type="Int32" /> </SelectParameters> DetailsViewUpdatedEventArgs GridView -> Add New Column (HyperLinkField) , Get URL from data field ~/AuthorUpdate.aspx?au_id={0} GridView -> Enable deleting Wrap özelliğini değiştir

33 Bilgi Girişi Doğrulama
Öğe düzenleme şablonları ile form özelleştirme Edit Columns Add Template Bind data -- Text="<%#Bind('price') %>“ Bir forma doğrulama kontrolleri eklemek Validation (doğrulama) RangeValidator RequiredFieldValidator Doğrulama hata mesajını düzenlemek CSS sınıfı eklemek Hata mesajını sınıfı tanımlamak Doğrulama özeti kontrolu kullanılması Display=“None” ValidationSummary

34 Birleştirilmiş tablolar ile bir sorgu oluşturma
Titles tablosunu Publishers ve Authors ile birleştir au_lname + ‘ ‘ +au_fname Verileri düzenle ve sırala Gridview’u düzenle Başlıklar Hizalama Autoformat Fiyatı döviz kuru olarak göster: {0:C}

35 Kontrol stil özelliklerini CSS ile değiştirmek
Sunum ve basım için farklı CSS belgeleri hazırlamak RowStyle HeaderStyle AlternatingRowStyle CssClass özniteliği media özniteliği Menu kimliğinin belirlenmesi #myHeader_menuPanel {visibility:hidden;height:0px;width:0px;} IE ve Firefox ile önizlemek

36 Raporlama için veri seçimi
Publishers SqlDataSource ekle DropDown List ekle Query builder üzerinden düzenleme pub_id alanını ekle (gösterimden kaldır) Refresh parameters Parameter source - > Control ->DropDownList1 Set AutoPostBack True Hepsi seçeneğini ekleyin!

37 Raporlama için veri seçimi
Hepsi seçeneğinin eklenmesi DropDownList kontrolünde AppendDataBoundItems=“true” <asp:ListItem Text=“Hepsi” Value=“0”></asp:ListItem> Select cümlesinde (titles.pub_id OR

38 Session durumunu yönetmek
ViewState ve geri yollama (postback) Sayfalar arasında veri alışverişi ViewState nesnesi dinamik olarak ASP.NET tarafından kullanılıyor Sayfanın adı ve ilgili veriyi base64 kodlu olarak tutuyor EnableViewState özelliği ayarlama (tuning) için kullanılabilir

39 Session değişkenleri kullanmak
Session değişkenleri sunucunun belleğinde saklanır Button_click: (yazmak için) Session[“sessionDegiskeni”]=TextBox1.Text; Response.Redirect(“SessionOkuma.aspx”); Button_click: (okumak için) OutputLabel.Text=(String)Session[“sessionDegiskeni”];

40 Form doğrulama ile site güvenliğini sağlamak
Form doğrulamayı açmak Windows Forms Passport Web.congif (<authentication mode=“Forms”>) <authentication mode="Forms"> Kullanıcılar girişi için login sayfası hazırlamak LoginStatus nesnesi -> Logged Out view Login bileşenini LoginStatus nesnesinin üzerinde bırak Sayfa çalıştırıldığında veritabanı (sqlserver”) otomatik olarak yaratılıyor (web sitesiyle beraber saklanan bir veritabanı).

41 Form doğrulama ile site güvenliğini sağlamak
Yeni kullanıcı kayıt sayfası hazırlamak CreateUserWizard Password (7 karekter, 1 adet alfanümerik olmayan karekter, büyük harf duyarlı) AutoFormat Login Form CreateUserText -> Yeni Kullanıcı Kayıt CreateUserURL

42 Form doğrulama ile site güvenliğini sağlamak
ASPNETDB.MDF Users Username (büyük harf duyarlı değil) Membership (hashed encoded, karşılaştırma için kullanılabilir fakat okunamaz) Password (büyük harf duyarlı) Kullanıcı silmek için önce Membership tablosundan silmek gerekiyor. web.config system.web <authorization> <deny users=“?”> < /authorization >

43 Form doğrulama ile site güvenliğini sağlamak
Authentication (kimlik doğrulama) forms Authorization (yetkilendirme) <deny users=“?”/>

44 Form doğrulama ile site güvenliğini sağlamak
Logout sayfası Header.ascx kontroluna LoginStatus nesnesini ekle Views: Logged In menuPanel width özelliğini kontrol et Login.aspx sayfasından login kontrolu dışındaki ögeleri kaldır (gösterimlerine izin verilmediği için)

45 Form doğrulama ile site güvenliğini sağlamak
<configuration> <system.web> <authentication mode="Forms"> <forms name="MyAppCookie" loginUrl="~/Login.aspx" protection="All" timeout="30" path="/" /> </authentication> ... </system.web> </configuration>

46 Form doğrulama ile site güvenliğini sağlamak
protection All, None, Encryption, Validation timeout Dakika biriminden

47 Kısaltmalar WAT Website Administration Tool
LINQ Language Integrated Query

48 ASP.NET web sitesini yayınlamak
IIS (Internet Information Services) – Web sunucusu kurulumu Add-remove windows components World Wide Web Publishing services Virtual directory yaratılması, alias verilmesi IIS üzerinden anonymous access verilmesi ASP.NET framework kurulumu IIS -> Add Application Veritabanı script’inin hazırlanması

49 ÖZET .NET Framework, aşağıdaki imkanları sağlayan bir yazılım platformudur: Yönetilen bir bilgisayar plaformu Güvenli bir çalışma yürütme ortamı (runtime execution environment) Dil seçeneği (C#, VB, etc.) Dağıtık sistemler ile entegrasyon yeteneği (web servisleri) Nesnel tabanlı programlama ortamı

50 .NET Framework Altyapısı

51 .NET Framework Altyapısı
CLR (.NET Framework) Diller aynı Type System’i kullanıyorlar, FCL (BCL – Base Class Library) çekirdek sınıflar, dosyalama vs. Data Access FW (ODBC, OLEDB, etc.) CLS Visual Studio (IDE – Integrated Development Environment)

52 ASP.NET Kodunun Derlenmesi

53 ASP.NET Kodunun Derlenmesi

54 ASP.NET Kodunun Derlenmesi
MSIL (Intermediate Language) JIT Just in Time Compiler

55 ASP.NET Kodunun Derlenmesi

56 ASP.NET Web Form Özellikleri
Kodların ayrılması ve Page sınıfı Sayfa yönergeleri ve öznitelikleri (directives and attributes) Web kontrolları Kullanıcı girişlerinin doğrulanması (validating user input) Varsayılan değerleri ayarlamak (setting defaults) Kullanıcı denetimler oluşturmak (creating user controls)

57 ASP.NET Web Form ASP.NET Web Form olarak adlandırılan programlanabilir Web sayfası sunar: HTML hazırlamak (dinamik olarak) Nesnel-tabanlı (sınıflar, Page sınıfından türerler Kontrolları kullanarak veri göstermek, toplamak ve doğrulamak mümkün

58 ASP.NET Web Form Özellikleri
ASP.NET Kontrol Kategorileri Güvenlik (security) Login, logout, kayıt (registration), şifre hatırlatma (password reminder) Veri Entegrasyon Navigasyon Nerdeyim, menü kontrolları, xml site haritaları Web parçacıkları Share point, kısmi sayfa gönderileri (postback)

59 ASP.NET Web Form Özellikleri
Anahtar Özellikler Master sayfalar (şablon) Siteye bütünlük getirmek Temalar/Skin’ler (yerleşik – built-in) Lokalizasyon (Türkçeleştirme) Uyarlanabilir UI (adaptive user interface) Tarayıcıya göre kendisini uyarlayan web kontrolleri

60 ASP.NET Web Form Özellikleri
Uygulama Hizmetleri API’ları (uygulama programlama arabirimi) Üyelik Rol yöneticisi Kişiselleştirme (personalization) Site navigasyonu Belleğe alma (cashing) Yönetimsel araçlar

61 Web Formunda Neler Bulunur?
Web Formları bir çok farklı öğe içerebilir Yönergeler: Page Language=“C#” AutoEventWireup=“True” %> Kod blokları (tercih etmiyoruz) <script language=“C#” runat=“server”>..</script> Gösterim blokları: <%=UserDetails%> klasik ASP Sunucu kontrolları: <asp:Label id=“lblMerhaba” runat=“server” /> Kullanıcı kontrolları: <acme:Header id=“ucHeader” runat=“server” /> ASP.NET Expressions: <%$ ConnectionStrings: MybookstoreConnString %> Data Binding Expressions: <%# Eval(“DBFieldName” )%> Gösterim blokları: <%=UserDetails%> klasik ASP. Sunucu kontrolları: Kullanıcı kontrolları: ASP.NET Expressions: <%$ ConnectionStrings: MybookstoreConnString %> Data Binding Expressions: <%# Eval( DBFieldName )%>", "width": "800" }

62 Sayfa Yönergeleri ve Öznitelikleri
Sayfa yönergesi, her ASP.NET sayfasının üstüne eklenir Page Lanuage=“C#” %> Sayfa yönergesinin anahtar özelikleri: Sayfanın dilini belirtir Scrollbar konumlarını korur !! Kod dosyası yolunu tanımlar İzlemeyi açar veya kapatır Sayfa tarafından kullanılan temaları veya ana şablonları belirtir Hata sayfasını tanımlar

63 Sayfa Yönergeleri ve Öznitelikleri

64 Web Kontrolları (Denetimleri)
ASP.NET, veri toplamak görüntülemek ve doğrulamak için web sunucusu kontrollerine dayanır Sunucu denetimleri, özellikleri, yöntemleri ve olayları (event) olan sınıflardır Sunucu denetimleri, dinamik olarak XHTML uyumlu kod üretir

65 ASP.NET Denetim Türleri
ASP.NET kontrolleri Page sınıfı tarafından dinamik html çıktı üretmek için kullanılan önemli bir teknolojidir Sunucu denetimlerinin dört temel tipi vardır: Web sunucu denetimleri: Kesin yazımlı (strongly-typed) programlanabilir nesneler. (sınıflar) HTML sunucu denetimleri: Bilinen html elemanlarına benzerler fakat sunucu tarafında denetlenirler. (etiketler; runat=“server”) Doğrulama denetimleri: Web Form gönderimlerini doğrulamak için kullanılır. (yerleşik) Kullanıcı denetimleri: Üstbilgi, altbilgi ve menü gibi özel denetimler.

66 ASP.NET Web Sunucu Denetimleri

67 ASP.NET Web Sunucu Denetimleri …devamı

68 ASP.NET Denetim Örnekleri

69 ASP.NET Denetim Örnekleri

70 ASP.NET Denetim Örnekleri

71 ASP.NET Denetim Örnekleri

72 ASP.NET Denetim Örnekleri

73 ASP.NET Denetim Örnekleri

74 ASP.NET Denetim Örnekleri
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar> <asp:CustomValidator ID="CalCheck" runat="server" ErrorMessage="* Lütfen doğum tarihinizi giriniz." ValidationGroup="ValidationSummary1" ></asp:CustomValidator> <asp:ValidationSummary ID="ValidationSummary1" runat="server" /> protected void Button1_Click(object sender, EventArgs e) { DateTime x; DateTime y = new DateTime(); x = Calendar1.SelectedDate; if (x == y) CalCheck.IsValid = false; return; } Label1.Text = Ad.Text + " " + Soyad.Text + " " + Calendar1.SelectedDate.Date.ToString();


"Internet Programcılığı II" indir ppt

Benzer bir sunumlar


Google Reklamları