# ASP

Active Server Pages| Yazar | Microsoft |
| İlk yayınlanma | Aralık 1996 (1996-12) |
|  |
| Programlama dili | VBS, JS |
| İşletim sistemi | Microsoft Windows |
| Lisans | Özel mülk yazılım |
| Resmî sitesi | www.asp.net  |

Alman Microsoft kampüsünün girişindeki Microsoft işareti, Konrad-Zuse-Str. 1, Unterschleißheim, Almanya
**Active Server Pages** (Türkçe: *Etkin Sunucu Sayfaları*) kısaca **ASP**, Microsoft'un ilk dinamik web sayfaları üretmek için geliştirdiği sunucu taraflı betik motoru. *Klasik ASP* ya da *ASP Klasik* olarak da bilinir.

Bir ASP dosyasının içinde, özel nesneler ve VBS, JS, SQL kodları bulunur, bu sayfalar istemci tarafından istendiğinde sunucu öncelikle ASP içindeki kodları icra ederek, istemciye göndereceği bilgiyi oluşturur ve gönderir. Gönderilen bilgi genellikle HTML *(ya da SGML)* şeklindedir. Fakat sadece bunlarla sınırlı değildir, aynı şekilde bir grafik dosyası da oluşturulup, istemciye gönderilebilinir.

ASP sayfaları HTML kodlarının içine <% ve %> ASP taglarıyla gömülü şekilde oluşturulduğu halde bir kez sunucu tarafından yorumlandığında saf HTML olarak döner. Kaynak kodlara bakıldığında ASP kodları görülmez. Bu kodlamacıların kaynaklarını saklamalarını kolaylaştırır.

ASP'nin ortaya çıkış nedenlerinden birisi de CGI dillerinin Oturum (Session) ve Uygulamaların (Application) başından sonuna kadar izlenmesinin yetersiz oluşundandır.

## ASP'de Kullanılan Nesneler

ASP altı adet tümleşik nesneyi barındırır.

### Response

İstemciye HTTP içeriği ve çerez benzeri bilgileri gönderir.

```
<%
If Len(Request.QueryString("name")) > 0 Then
 Response.Cookies("name") = Request.QueryString("name")
End If

Response.Write Server.HTMLEncode(Response.Cookies("name")) & " hoşgeldiniz!"
%>

```

### Request

İstemci tarafından gönderilen bilgileri okur.

```
<%
' Get metodu ile gelen form bilgisini istemciye gönderir
Response.Write Server.HTMLEncode(Request.QueryString("name")) & " hoşgeldiniz!"
%>

```

### Session

Oturum bazlı değişkenleri tutar.

```
<%
If Len(Request.QueryString("name")) > 0 Then
 Session("name") = Request.QueryString("name")
End If

Response.Write "Welcome " & Server.HTMLEncode(Session("name")) & "!"
%>

```

### Application

Tüm istemcilerin paylaşabildiği değişkenleri tutar.

```
<%
Application("uygulama\_ismi") = "ASP Uygulamam"
Response.Write Server.HTMLEncode(Application("uygulama\_ismi")) & " uygulamasına hoş geldiniz!"
%>

```

### Server

Sunucu üzerinde kurulu veritabanı (ADO), dosya sistemi ve diğer kurulu kütüphanelere erişim sağlar.

```
<%
Dim oAdoCon, oAdoRec, oAdoStm, oCdoCon, oCdoMsg, oSciDic, oSciFsm, oMswAdr

Set oAdoCon = Server.CreateObject("ADODB.Connection")
Set oAdoRec = Server.CreateObject("ADODB.Recordset")
Set oAdoStm = Server.CreateObject("ADODB.Stream")
Set oCdoCon = Server.CreateObject("CDO.Configuration")
Set oCdoMsg = Server.CreateObject("CDO.Message")
Set oSciDic = Server.CreateObject("Scripting.Dictionary")
Set oSciFsm = Server.CreateObject("Scripting.FileSystemObject")
Set oMswAdr = Server.CreateObject("MSWC.AdRotator")
%>

```

### Err

Hata yakalama metotlarını içerir.

```
<%
On Error Resume Next

Response.Write 1 / 0

Response.Write "Hata Kodu: " & Server.HTMLEncode(Err.Number) & "<br />"
Response.Write "Hata Kaynağı: " & Server.HTMLEncode(Err.Source) & "<br />"
Response.Write "Hata Açıklaması: " & Server.HTMLEncode(Err.Description)

If Err.Number <> 0 Then
 Err.Clear
End If
%>

```

### Examples

Basit örnekler.

```
Ekrana bugünün tarihini yazar.
<% = date() %>

Ekrana bugünün zamanını, saat ve tarih bilgisi ile yazar.
<% = now() %>

Ekrana sadece saat bilgisini yazar.
<% = time() %>

```