March 06, 2004

 

درس دوم : سلام دنیا

 

 


نکات قابل توجه :
1 . اين يادداشت ترجمه آزادي است که بر A Practical Guide to Microsoft Active Server Pages 3.0 داشته ام . براي خواندن مقدمه و شرایط ترجمه حاضر لطفا اينجا کليک کنيد .
2. آيا در مورد ASP سوال و مشکلي داريد ؟ شايد جواب پرسشتان را در بخش " سوالات متداول ASP " پيدا کنيد . اگر هم نبود چرا آن را نمي پرسيد تا در کوتاهترين زمان به جواب برسيد ؟ براي رفتن به بخش " پرسش هاي متداول ASP " لطفا اينجا کليک کنيد .


کلیشه ای ترین تمرین دنیای برنامه نویسی برنامه Hello World است . من تقریبا هر کاری که به هر زبانی شروع کردم با همین سلام دنیا شروع شده .


حالا اجازه بدید که اولین صفحه ASP خودمون رو بنویسیم :








<HTML>
<HEAD>
<TITLE>Hello World !</TITLE>
</HEAD>
<BODY>
<%
      Response.Write "Hello, World !"
%>
</BODY>
</HTML>


سطرهای بالا رو در یک ادیتور بنویسید و بعد با نام hello.asp ذخیره کنید . hello.asp  رو در فولدر wwwroot ذخیره کنید .
برای اجرای صفحه ، اینترنت اکسپلورر رو باز کنید و در نوار آدرس بنویسید : http://localhost/hello.asp . عبارت زیر کارش اینه که توی صفحه کلمات  Hello, World رو نمایش می ده .


 Response.Write "Hello, World !"


روش دیگر برنامه سلام دنیا


یک راه کوتاهتر برای نمایش سلام دنیا در صفحه . کد زیر رو ببینید








<HTML>
<HEAD>
<TITLE>Hello World !</TITLE>
</HEAD>
<BODY>
<%=     "Hello, World !"
    %>
</BODY>
</HTML>


فقط توجه کنید که علامت = رو درست بعد از تگ شروع اسکریپت قرار بدید . عملکرد این روش درست مثل استفاده از Response.Write هستش .
نکته ( اضافه شده توسط مترجم )
بعد از اینکه صفحه hello.asp رو در مرورگر خودتون اجرا کردید . از منوی view گزینه Source رو انتخاب کنید . تا سورس صفحه رو ببینید . همون طور که مشاهده می کنیدخبری از اسکریپت ها نیست . جای تمام اسکریپت ها رو عبارت های HTML گرفته اند. امتحان کنید


مثال دیگر : نمایش تاریخ ...


حالا اجازه بدید یک گام به جلو برداریم و صفحه بسازیم که تاریخ امروز رو به کاربر نشون میده . کد زیر رو در نظر بگیرید .








<HTML>
<HEAD>
<TITLE>Hello World !</TITLE>
</HEAD>
<BODY>
<%=   
Date   %>
</BODY>
</HTML>


استفاده از تابع "Date" تاریخ فعلی رو به شما می ده ، به طریق مشابه تابع "Time" زمان فعلی رو بر می گردونه . برای استفاده همزمان از تاریخ و زمان می تونید از تابع "Now" استفاده کنید . کد بعدی روش استفاده از تابع "Now" رو نشون می ده .








<HTML>
<HEAD>
<TITLE>Hello World !</TITLE>
</HEAD>
<BODY>
<%
      Response.Write Now
%>
</BODY>
</HTML>


جزییات بیشتر : در کد زیر قصد داریم به طور جزیی تر به مساله تاریخ و زمان بپردازیم . می خواهیم سال و ماه و ساعت و دقیقه و ثانیه رو نشون بدیم








<HTML>
<HEAD>
<TITLE>Hello World !</TITLE>
</HEAD>
<BODY>
<%
  Response.Write “Year: ” & Year (Now)
  Response.Write “Month: ” & Month (Now)
  Response.Write “MonthName: ” & MonthName (Month(Now))

  Response.Write “Hour: ” & Hour (Now)
  Response.Write “Minute: ” & Minute (Now)
  Response.Write “Second: ” & Second (Now)
%>
</BODY>
</HTML>


در مورد تاریخ و زمان فرمت های مختلفی هست که زمانی که به بررسی VBScript برسیم مفصل تر درباره شون صحبت می کنیم . این هم از درس دوم . نظر یادتون نره . سوالی هم داشتید بپرسید ، اگر بدونم خوشحال می شم جواب بدم ، اگر هم نمی دونستم ، خیالی نیست ، از داناها و تواناها می پرسم براتون !

 

February 24, 2004

 

درس اول : معرفي

 

 

 

نکات قابل توجه :
1 . اين يادداشت ترجمه آزادي است که بر A Practical Guide to Microsoft Active Server Pages 3.0 داشته ام . براي خواندن مقدمه و شرایط ترجمه حاضر لطفا اينجا کليک کنيد .
2. آيا در مورد ASP سوال و مشکلي داريد ؟ شايد جواب پرسشتان را در بخش " سوالات متداول ASP " پيدا کنيد . اگر هم نبود چرا آن را نمي پرسيد تا در کوتاهترين زمان به جواب برسيد ؟ براي رفتن به بخش " پرسش هاي متداول ASP " لطفا اينجا کليک کنيد .


چرا ASP ؟
چرا به ASP نياز هست زماني که HTML مي تواند تمام نيازهاي شما را برآورده کند ؟ اگر مي خواهيد اطلاعات را نمايش دهيد ، تمام آن چيزي که بايد انجام دهيد اين است که اديتور مورد علاقه خودتون رو باز کنيد ، چند تا تگ HTML  بنويسيد و صفحه رو با پسوند HTML ذخيره کنيد . بينگو ! کار تمام شد !
اما صبر کنيد ، اگر بخواهيد اطلاعاتي که تغيير مي کنند را نمايش دهيد چطور ؟ آيا باز هم اين روش مفيد است . فرض کنيد شما يک صفحه شامل اطلاعاتي داريد که مدام به روز مي شوند مثل وضعيت هوا ، يا سهام بورس ، ليستي از دوست دخترهاتان ! و ... HTML چاره کار نيست ، اون چيزي که شما بهش احتياج داريد يک سيستم براي ارايه اطلاعات ديناميک ( پويا ) هست . ASP خودشه . همون چيزي که لازم داريد


ASP چيست ؟
به زبان مايکروسافت :  Active Server Pages يک محيط باز براي ترکيب HTML ، اسکريپت ها و کامپوننت هاي سرور قابل استفاده مجدد ActiveX است که امکان ساختن راه حل هاي ديناميک و قدرتمند تجاري وب محور رو به شما مي ده . ASP امکان اسکريپت نويسي طرف سرور با استفاده از VBScript و JScript رو براي  IIS ميده .


نکته . قبل از اينکه سرور يک صفحه ASP رو به مرورگر بفرسته ، اسکريپت هاي طرف سرور اون صفحه رو اجرا مي کنه . براي اينکه بين صفحات ASP و HTML معمولي تفاوت وجود داشته باشه ، صفحات ASP رو با پسوند asp ذخيره مي کنند .


با ASP چه کارهايي مي شه انجام داد ؟
کارهاي زيادي هست که با ASP مي شه اون ها رو انجام داد ، از جمله :


- شما مي تونيد تاريخ ، زمان و ديگر اطلاعات رو به روش هاي مختلف نشون بديد


- شما مي تونيد يک فرم نظر سنجي بسازيد و از بازديد کنندگان سايت خودتون بخواهيد که اون رو پر کنند.


-شما مي تونيد يک بانک اطلاعاتي داشته باشيد که مردم از طريق وب به اون دسترسي داشته باشند ، مي تونيد اين بانک اطلاعاتي رو به روز کنيد ، چيزي رو بهش اضافه يا ازش کم کنيد و کارهايي از اين دست


- شما مي تونيد بعضي از بخش هاي سايت خودتون رو بوسيله کلمه عبور محافظت کنيد تا مطمئن باشيد که فقط افراد مجاز قادر به استفاده از اطلاعات بخش هاي محافظت شده هستند.


اسکريپتهاي طرف سرور ( Server Side ) چگونه به نظر مي رسند ؟
اسکريپت هاي طرف سرور عموما با %> شروع و با <% خاتمه مي يابند . به اولي تگ شروع کننده و به دومي تگ پايان بخش گفته مي شه . بين اين دو علامت اسکريپت هاي طرف سرور قرار مي گيرند.  شما مي توانيد اسکريپت هاي طرف سرور خودتون رو هر جاي کد صفحه از جمله در داخل تگ هاي HTML به کار ببريد .


براي اجراي صفحات ASP به چه چيزي نياز هست ؟
به خاطر اينکه سرور بايد پردازش روي اسکريپت هاي ASP انجام دهد بايد اين توانايي را داشته باشد . تنها سرور هايي که از ASP به طور کامل پشتيباني مي کنند  Microsoft Internet Information Services  و Microsoft Personal Web Sever هستند .
Internet Information Services
اين يک وب سرور مايکروسافت است که براي ويندوز ان.تي طراحي شده . اين سرور تنها در ويندوز ان.تي 4 و ويندوز 2000 نسخه حرفه اي و نسخه سرور قابل اجراست . نسخه فعلي اين سرور 5 است و به همراه ويندوز 2000 عرضه شده . ( مترجم : اين متن قديمي است . آخرين نسخه IIS نسخه ششم است که همراه با ويندوز دات نت 2003 عرضه شده ، در ويندوز اکس پي شما به نسخه 5.5 وب سرور IIS دسترسي داريد )
Personal Web Sever
اين وب سرور روي تمام ويندوز ها از جمله 95 و 98 و ام.اي کار مي کند . اگر شما از ويندوزهاي 9x يا ام.اي استفاده مي کنيد تنها راه براي اجراي صفحات ASP استفاده از اين وب سرور است .


نصب IIS در ويندوز اکس پي و 2000
( توجه  : اين بخش جز اين کتاب نيست و توسط مترجم يعني خودم به درس اضافه شده )
1. به کنترل پنل بريد .
2. روي Add or remove Programs  کليک کنيد .
3.در پنجره Add or Remove Programs  گزينه Add/Remove Windows Components  رو انتخاب کنيد .
4. در ويزارد Windows Components Wizard گزينه Internet Information Services [IIS] رو انتخاب کنيد . براي نصب بايد سي دي ويندوز رو داخل درايو سي دي قرار بديد.


بعد از اتمام عمليات نصب در درايو c يک فولدر به نام Inetpub ساخته مي شه . شما بايد صفحات ASP خودتون رو داخل فولدر wwwroot که داخل همين فولدر Inetpub هستش قرار بديد.


دسترسي به صفحات وب شما
حالا که سيستم شما به يک سرور تبديل شده ببينيم چه جوري به صفحات وب اين سرور مي شه دسترسي داشت . فرض کنيد يک صفحه به نام test.asp رو در فولدر wwwroot ذخيره کرديد . براي دسترسي به اين صفحه اول مرورگر خودتون رو باز کنيد . مطمئن بشيد که در حالت offline  نيستيد . در نوار آدرس تايپ کنيد :  http://localhost/test.asp . به اين ترتيب صفحه شما نمايش داده ميشه . درست مثل اينکه يک سرور واقعي روي اينترنت باشه .


اين هم از پايان درس اول . هر سوالي که داشتيد يا کامنت بگذاريد يا از طريق پست الکترونيک بپرسيد .

 
 

آموزش مقدماتي ای.اس.پی - مقدمه

 

 

  درس هايي که قرار است زير مجوعه " آموزش مقدماتي ASP " قرار بگيرند ، شامل يک مرور کوتاه بر فناوري ASP  است . اين درس ها عمدتا با مثال ها و توضيحات مستندات مايکروسافت همراه خواهند بود چرا که به گمان من هيچ مرجعي کامل تر و دقيق تر از مراجع مايکروسافت در اين مورد پيدا نمي شود . البته در اين ميان از مقالات سايت هاي ديگر و کتاب ها و مطالب مرتبط حتما استفاده خواهم کرد .  نکته مهم اين که بخش مقدماتي آموزش ASP ترجمه آزادي است که بر A Practical Guide to Microsoft Active Server Pages 3.0 داشته ام . در جريان اين ترجمه موارد بسياري حذف و اضافه شده اند . اين کتاب 3 مرجع خوب و جمع و جور درباره VBScript و SQL و ADO دارد . مهمترين دليل من براي انتخاب اين کتاب هم همين بوده است . بخش مقدماتي آموزش شامل 10 درس است . در بخش پيشرفته درباره مسائل پيچيده تر و مثال هاي کاربردي تر صحبت مي کنيم . يک پست را اختصاصا به پرسش هاي متداول درباره ASP اختصاص دادم . هر بار که پرسش جديد مطرح شود متن پرسش به اضافه پاسخ را به پست اضافه مي کنم . اين به هماهنگي بيشتر مطالب کمک مي کند . قطعا نظرات و پيشنهادات و راهنمايي هاي شما منو در راه بالا بردن سطح کيفي آموزش ها کمک خواهد کرد. آنچه که در اين مقدمه مي خوانيد درآمدي است بر ASP به قلم خودم .


مقايسه بين صفحات HTML و ASP


اجازه بديد روند مشاهده يک صفحه وب رو به صورت خلاصه بررسي کنيم . وقتي شما يک آدرس رو در نوار آدرس مرورگر خودتون تايپ مي کنيد مثلا : http://www.yahoo.com مرورگر يک درخواست به سرور مي فرسته . سرور به درخواست مرورگر شما پاسخ مي ده و سند درخواستي شما رو برمي گردونه ( البته اين وسط DNS ها آدرس IP دامين سايت رو پيدا مشخص مي کنند + يک سري کارهاي ديگه که به اين مسائل کاري نداريم ) . اگر اين سند يک فايل قابل نمايش براي مرورگر باشه ، کد اون فايل توسط مرورگر ترجمه مي شه و شما اطلاعات فايل رو مي بينيد . اگر هم قابل نمايش نباشه برنامه مرورگر سعي در بارگذاري ( دانلود ) اون فايل مي کنه . با يک مثال معني اين حرف ها رو روشن مي کنم . فرض کنيد شما آدرس زير رو در مرورگر خودتون تايپ کنيد : http://www.somewhere.com/somepage.htm  . اين درخواست يک فايل از نوع HTML است . HTML مخفف Hyper Text Markup Language به معني زبان نشانه گذاري ابرمتن است . اگر چنين فايلي روي سرور سايت وجود داشته باشه . مرورگر کد فايل رو ترجمه مي کنه و شما صفحه  somepage.htm رو مي بينيد . براي دستيابي به کد يک صفحه از نوع HTML در اينترنت اکسپلورر مي تونيد از منوي View  گزينه Source رو انتخاب کنيد . اين کد چيزي شبيه به کدهاي زير خواهد بود









<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Page Title</title>
</head>

<body>
......
</
body>
</html>

نمونه سورس يک فايل HTML . به جاي نقطه چين ها عناصري قرار مي گيرد که بايد در صفحه نمايش داده شود


اما فرض کنيد فايل HTML اي که شما درخواست کرده ايد روي سرور سايت وجود نداشته باشد . در اين صورت شما يک پيغام خطا دريافت خواهيد کرد ( خظاي 404 ) مبني بر اين که مرورگر موفق نشده است فايل مورد نظر شما را پيدا کند . حالا فرض کنيم شما در نوار آدرس مرورگر خودتون آدرس يک فايل رو تايپ کنيد که قابل نمايش نيست . مثل فايل هاي exe  يا zip يا mp3  و ... . در اين صورت برنامه مرورگر سعي مي کند فايل مورد نظر رو دانلود کنه .


 


اما بالاخره فرق يک صفحه ASP با يک صفحه HTML چيه ؟ صفحات HTML استاتيک هستند يعني به صورت پويا تغيير نمي کنند ، اگر بخواهيد يک صفحه HTML چيزي غير از آنچه که در حال حاضر نمايش مي ده رو نشون بده چاره اي جز دست بردن در سورس صفحه نيست . اما يک صفحه ASP به دليل اينکه مجموعه اي از اسکريپت ها و کدهاي HTML هست قابليت اينو داره که به صورت خودکار و بر اساس شرايط محتواي مختلفي رو نمايش بده . من هميشه براي اينکه کاربرد صفحات ASP در ساخت سايت هاي ديناميک رو نشون بدم از مثال مسابقات فوتبال استفاده مي کنم . فرض کنيم از شما خواسته بشه که يک صفحه طراحي کنيد براي نمايش جدول مسابقات ليگ برتر کشور . خوب اگر شما به صورت عادي و با استفاده از جدول هاي HTML کار رو پياده سازي کنيد مجبور هستيد هر بار که مسابقه اي انجام مي شه ، خودتون بررسي کنيد که جايگاه هر تيم چه تغييري مي کنه ، امتيازات و تفاضل گل و بقيه چيزها رو هم خودتون حساب کنيد و بعد بر اساس اون صفحه رو يک بار ديگه ظراحي کنيد . اين بار با يک جدول که بر اساس اطلاعات جديد طراحي شده . اين يک کار وقت گير و بيهوده است . تازه امکان اشتباه هم کم نيست . اما حالا اگر فرض کنيم که اين پروژه رو با ASP پياده سازي کرده باشيم . بر اين اساس فقط بايد يک سرويس طراحي کنيم که يک نفر بياد و نتيجه هر مسابقه رو وارد کنه . نتايج براي پردازش به سرور فرستاده مي شه ، بعد از پردازش بر اساس اسکريپت هايي که توي صفحه هست ، جدول به روز مي شه .


يک مثال ديگه که فکر کنم بيشتر قابل لمس هست مثالي است که مايکروسافت در مستندات IIS نوشته . به تصاوير زير نگاه کنيد :
براي مشاهده تصوير 1 اينجا کليک کنيد .
براي مشاهده تصوير 2 اينجا کليک کنيد .



در تصوير شماره 1  مي بينيد که کاربر ( Web Client ) يک درخواست  ( Request ) براي فايل  MyFile.htm به سرور مي فرسته . سرور هم يک پاسخ ( Response ) به اين درخواست مي ده . در کد صفحه MyFile.htm قراره که يک تاريخ نمايش داده بشه . اين تاريخ قبلا در کد صفحه صريحا آورده شده . بنابراين عين همون تاريخي که توي کد صفحه هست رو توي  مرورگر مي بينيم . تاريخ امروز مثلا 18 اکتبر 2000 است . اگر فردا يعني 19 اکتبر باز به اين صفحه بياييم باز همان تاريخ 18 اکتبر رو مشاهده مي کنيم . اگر بخواهيم به اين روش هر روز تاريخ رو نشون بديم . مجبوريم هر شب ساعت 12 بيدار باشيم و کد صفحه رو براي تاريخ جديد تغيير بديم ! کار زياد خوشايندي نيست ، باور کنيد .



اما در تصوير بعدي  کاربر درخواست صفحه MyFile.asp  رو از سرور مي کنه . در کد صفحه که روي سرور قرار داره از تابع date استفاده شده . کار تابع  date اينه که تاريخ روز رو برمي گردونه . همون طور که مي بينيد بين انجام عمليات پاسخ سرور و مشتري ( Client ) يک موتور ASP   قرار گرفته . کار اين موتور اينه که اسکريپت هاي صفحه ASP رو به کد HTML مربوطه تبديل مي کنه . در اين مثال


<%Response.write "<H1>"&Date()&"<H1>"%>


به کد  HTML زير تبديل مي شه


<H1>10/18/2000</H1>


اميدوارم توضيحات اين مقدمه باعث شده باشه که يک درک کلي از مدل کاري ASP پيدا کرده باشيد . اگر چيز زيادي نفهميديد جاي نگراني نيست . در جلسات بعد به طور مفصل روي اين مسايل صحبت مي کنيم . اگر سوالي داشتيد کامنت بذارين يا با ايميل مکاتبه کنيد . مرسي


 

 
 

پرسش های متداول ای.اس.پی

 

 

 

در اين نوشته سوالات متداول ASP پاسخ داده شده اند ، شما هم اگر سوالي داريد ، از طريق کامنت گذاشتن يا پست الکترونيک من بپرسيد . اين يادداشت هر زمان که سوال جديدي مطرح شود همراه با پاسخ به روز مي شود .


س . روي وب سرورهاي ديگه هم مي شه از ASP استفاده کرد ؟
پ . آره ، اما به کمک نرم افزارهاي جانبي . يک نمونه از اين نرم افزارها ChiliASP است که براي افزودن پشتيباني از  ASP به وب سرورهاي ديگر مثل آپاچي طراحي شده


س. ASP بهتر است يا ASP.NET ؟
پ . از اين جهت که پلتفرم دات نت کاملا جدا و جديد است نمي دانم که آيا اين مقايسه درست هست يا نه . اما در هر حال ASP.NET قابليت ها و مزاياي بيشتري نسبت به ASP دارد و مي شود گفت که از آن برتر است .


منتظر نظرات و پرسش های شما هستم

 

iLife 2 © 2003 - 2004 , Hamed Saeedi Fard