Home wilkeo>Active Server Page    
  ASP คืออะไร

Active Server Pages (ASP) เป็นเทคโนโลยีทางด้านเว็บเซิร์ฟเวอร์ของไมโครซอฟท์ ที่ถูกออกแบบมาให้ง่ายต่อการพัฒนาแอพพลิเคชั่นผ่านเว็บเซิร์ฟเวอร์สำหรับนักพัฒนาเว็บไซต์ การใช้งาน ASP สามารถกระทำได้โดย เขียนคำสั่งหรือสคริปต์ต่างๆ ในรูปของเท็กซ์ไฟล์ธรรมดาทั่วไป แล้วนำเก็บไว้ที่เซิร์ฟเวอร์เมื่อมีการเรียกใช้งานจากบราวเซอร์ไฟล์เอกสาร ASP ก็จะถูกแปลโดย ASP Interpreter แล้วส่งผลลัพธ์ที่ได้จาก Web Server กลับไปให้บราวเซอร์ ในรูปแบบของ HTML

เนื่องจากการที่ ASP สามารถรองรับได้หลายภาษาเช่น VBScript, JScript, และ Perl ดังนั้นนักพัฒนาเว็บไซต์จึงไม่มีความจำเป็นต้องมีความรู้หรือศึกษาในทุกภาษาเนื่องจาก ASP ได้ถูกออกแบบมาให้ขึ้นกับความรู้ของนักพัฒนาเว็บไซต์นั่นเอง

เตรียมความพร้อม
  • ด้าน HARDWARE
    • ควรเป็นเครื่องที่เหมาะสำหรับทำเป็นผู้ให้บริการ (Server)
    • Pentium II ที่มี CPU ตั้งแต่ 233 MHz ขึ้นไป
    • ควรมี RAM 64 MB เป็นอย่างน้อย
    • ควรมี Hard Disk 2 GB เป็นอย่างน้อย
    • มี LAN Card ที่สนับสนุนความเร็วที่ 10 Mbits หรือ 100 Mbits
  • ด้าน SOFTWARE
    • ถ้าทำเป็น Server ควรใช้ระบบปฏิบัติการ Windows NT 4.0 Server ขึ้นไป
    • ถ้าเป็นเครื่องที่ใช้พัฒนา (Development) จะเป็น Windows NT 4.0 Server หรือ Windows NT 4.0 Workstation หรือ Windows 98 ก็ได้
    • สำหรับ Windows NT 4.0 Server ให้ติดตั้งโปรแกรม Internet Information Server 4.0 (IIS) เพื่อทำเป็น Web Server ซึ่งจะมี ASP ติดตั้งมาพร้อมกัน
    • สำหรับ Windows NT Workstation ให้ติดตั้งโปรแกรม Peer Web Server ซึ่งจะมี ASP ติดตั้งมาพร้อมกัน
    • สำหรับ Windows 98 ให้ติดตั้ง Personal Web Server 4.0 (PWS) เพื่อทำเป็น Web Server ซึ่งจะมี ASP ติดตั้งมาพร้อมกัน สามารถหาติดตั้งได้จากแผ่น CD ของ Windows 98 ภายใต้ Addon Folder
    • โปรแกรมที่ใช้พัฒนา ASP เช่น Notepad, Visual InterDev 1.0 หรือ 6.0 เป็นต้น ซึ่งอันหลังมากับแผ่น CD Visual Studio 98 เช่นเดียวกับ Visual Basic 6.0
  • สำหรับผู้ที่ใช้โปรแกรม Visual InterDev ในการติดต่อกับ Web Server จะต้องติดตั้งโปรแกรม Microsoft FrontPage Server Extensions ซึ่งจะทำให้สามารถ Upload เว็บเพจต่างๆที่เขียนขึ้นไปไว้บน Web Server ได้ (มาพร้อมกับแผ่น Visual Studio 98 ในแผ่นที่ 2 หรือแผ่น Windows 98 ใน Addon Folder)
สรุปความพร้อม
  1. เตรียม HARDWARE ที่จะใช้พัฒนา ASP
  2. เตรียม SOFTWARE ที่จะใช้พัฒนา ASP
    1. โปรแกรมระบบปฏิบัติการ (OS)
    2. โปรแกรม Web Server
    3. โปรแกรม Web Development Application

Web Root Directory

เมื่อติดตั้งโปรแกรม Web Server แล้ว โปรแกรมจะทำการสร้าง Directory สำหรับจัดเก็บเอกสาร Web หรือ Script เราจะเรียกว่า Directory นี้ว่า Web Root ซี่งทั้ง IIS 4.0 และ PWS 4.0 จะสร้าง Directory สำหรับใช้งาน ดังนี้

C:\Inetpub\wwwroot - เป็น Home Directory สำหรับ WWW เก็บไฟล์ Web Page ต่างๆ เช่น default.htm, index.htm, home.htm, main.htm เป็นต้น ซึ่งโปรแกรม Web Server จะสามารถกำหนดไฟล์เอกสารเริ่มต้น
C:\Inetpub\scripts - เป็นที่เก็บไฟล์ Script ต่างๆ เช่น guestbook.asp, chat.asp, webboard.asp เป็นต้น (โดยปกติแล้ว ไม่จำเป็นเสมอไปที่จะเก็บไฟล์ Script ไว้ใน Directory นี้ อาจจะเก็บไว้ที่เดียวกับ wwwroot Directory หรือ Directory ใดๆก็ได้) หมายเหตุ : การที่จะรันไฟล์ Script ต่างๆที่เก็บไว้ใน Directory ใดๆนั้น Directory นั้นจะต้องมีการกำหนดสิทธิว่าสามารถที่จะให้ Script สามารถถูกเรียกทำงานได้

Directory Permission

ก่อนที่จะรัน ASP Application บน Web Server เราต้องมั่นใจก่อนว่า Directory ที่เรานำไฟล์ ASP ไปเก็บนั้น มีการกำหนดสิทธิสำหรับการรัน (Execute) สคริปต์เรียบร้อยแล้ว

ถ้าใช้ IIS 4.0 ให้ทำการเปิดโปรแกรม Microsoft Management Console ใน IIS directory คลิกเมาส์ขวาเลือก Properties จากเมนูลัด จะปรากฏหน้าต่าง Directory Properties ดังรูป


Directory Properties ใน IIS 4.0

ถ้าใช้ PWS 4.0 ให้ทำการเปิดโปรแกรม Personal Web Server 4.0 คลิกเมาส์ขวาที่ไอคอน PWS   ด้านขวาของ Taskbar เลือก Properties จากเมนูลัด แล้วไปที่เมนู Advanced > เลือก Directory ที่ต้องการ > คลิกปุ่ม Edit Properties จะปรากฏหน้าต่าง Edit Directory ดังรูป


Edit Directory ใน PWS 4.0


ภาพแสดงการทำงานของ ASP

ภาษาที่ใช้พัฒนา ASP

ภาษาที่ใช้พัฒนา ASP เราจะเรียกว่า Script Language ซึ่งเป็นภาษาโปรแกรมที่ใช้พัฒนาบน Web หรือ Homepage ได้แก่

  1. VBScript - เป็นภาษาที่คิดค้นโดยบริษัท Microsoft ซึ่งมีโครงสร้างของภาษาส่วนใหญ่คล้ายคลึงกับภาษา Visual Basic หรือเราอาจจะเรียกได้ว่าภาษา VBScript เป็นสับเซตของภาษา Visual Basic ก็ได้ (ปัจจุบัน VBScript 5.0)
  2. JScript - เป็นภาษาที่บริษัท Microsoft ดัดแปลงมาจากภาษา JavaScript ของบริษัท Netscape (ปัจจุบัน JScript 5.0)
  3. Perl - เป็นภาษา Script ที่นิยมมากบนระบบปฏิบัติการ Unix แต่ก็สามารถนำมาพัฒนา ASP ได้ (สำหรับ ASP แล้ว Perl จะเป็นภาษาที่ใช้พัฒนาน้อยที่สุด)
แหล่งข้อมูลภาษา Script

สามารถหา Download Web Help Online ภาษา VBScript และ JScript ได้จาก Microsoft Web Site ได้แก่


http://msdn.microsoft.com/scripting/default.htm
  • VBScript --> vbsdoc.exe (546 KB)
  • JScript --> jsdoc.exe (567 KB)
ส่วนประกอบต่างๆของ ASP
  1. HTML Code - เป็นการเขียนร่วมกับภาษา HTML
  2. Script Delimiters - เป็นแท็กเปิดปิดเพื่อบอกว่าเป็น Script ของ ASP คือ <% ASPCode %>
  3. Script Code - เป็น Script ที่ใช้งานหรือเขียนควบคุม
  4. ActiveX Components - เป็น Component ที่ถูกสร้างขึ้นเพื่อใช้งานร่วมกับ ASP ตามหลักการของ COM (Component Object Model)
  5. ASP Objects - เป็น Object ใช้งานใน ASP
การใช้งาน ASP จำเป็นต้องศึกษา Object ต่างๆ ดังนี้
  1. Application Object
  2. Session Object
  3. Server Object
  4. Response Object
  5. Request Object
การใช้งาน ASP จำเป็นต้องศึกษา Component ต่างๆ ดังนี้
  1. Ad Rotator Component
  2. Browser Capabilities Component
  3. File Access Component
  4. Content Linking Component
  5. Database Access Component (ActiveX Data Objects)
The First ASP Code

การเขียนในลักษณะ Function

การเขียนในลักษณะ Subroutines

การใช้งาน JScript

Application Object

เป็นออบเจ็กต์ที่ทำหน้าที่เก็บและใช้ข้อมูลร่วมกันระหว่างส่วนต่างๆ ของแอพพลิเคชั่นหรือ แต่ละ Session โดย Application Object จะถูกสร้างขึ้นมาก่อน Session Object และจะถูกปิดลงก็ต่อเมื่อ Server ถูกปิด หรือจนกระทั่งมีการเปลี่ยนแปลงไฟล์ Global.asa และ User ทั้งหมดทำการ Disconnected

ไฟล์ Global.asa

ไฟล์ Global.asa จะทำหน้าที่ติดต่อและกำหนดค่าเริ่มต้นสำหรับตัวแปรต่างๆ ของ ไฟล์เอกสาร ASP โดยจะติดต่อและทำงานกับ Application Object และ Session Object ซึ่งไฟล์ Global.asa จะต้องถูกเก็บอยู่ที่ Root Directory

ตัวอย่างไฟล์ Global.asa

Session Object

มีหน้าที่ทำการติดต่อและเก็บข้อมูลต่างๆ ของผู้ใช้งานในแต่ละคน ทำให้สามารถแก้ข้อเสียของโปรโตคอล HTTP ที่ไม่สามารถระบุและติดตามผู้ใช้งานแต่ละคนได้ โดย Session Object จะทำการระบุหมายเลข ID ในการติดต่อให้กับผู้ใช้ในแต่ละราย แล้วติดต่อโดยระบุผู้ใช้ตามหมายเลข ID นั้นๆ หากผู้ใช้ทำการปิด Browser ทั้งหมดแล้วเปิด Browser เพื่อทำการติดต่อใหม่ ก็จะได้รับ ID ใหม่

ตัวอย่างไฟล์ Greet.asp

เหตุการณ์ที่เกิดขึ้นกับ Session Object
  • OnStart เป็นอีเวนต์ที่เกิดขึ้นตั้งแต่ผู้ใช้รายใหม่ติดต่อเข้ามา
  • OnEnd เป็นอีเวนต์ที่เกิดขี้นเมื่อปิด Browser ทั้งหมดหรือจบการติดต่อกับ Server
ตัวอย่างการใช้งานไฟล์ Global.asa ร่วมกับ อีเวนต์ต่างๆ

Server Object

เป็นออบเจ็กต์ที่ทำหน้าที่เกี่ยวกับการบริหาร หรือจัดการกับทรัพยากรต่างๆ ในระบบ หรืออาจจะเรียกว่าเป็น Utility Object ตามบริษัทไมโครซอฟท์ก็ได้ ออบเจ็กต์นี้จะประกอบไปด้วย 4 เมธอด และ 1 พรอพเพอร์ตี้

พรอพเพอร์ตี้ ScriptTimeOut

เป็นพรอพเพอรตี้ที่ใช้ในการควบคุมไม่ให้ Server ทำการประมวลผลไฟล์เอกสาร ASP นานจนเกินไป ซึ่งค่าปกติจะเป็น 90 วินาที คำสั่งในการใช้งานจะเป็นดังนี้

ตัวอย่างการใช้ ScriptTimeOut

เมธอด HTMLEncode

เป็นเมธอดที่ใช้ในการเข้ารหัสของ String HTML เพื่อให้สามารถแสดงข้อความหรือตัวสงวนได้ถูกต้อง ตัวอย่างการใช้งาน

ตัวอย่างการใช้ HTMLEncode

Response Object

เป็นออบเจ็กต์ที่จะทำหน้าที่ในการตอบสนองหรือส่งข้อมูลออกไปยังบราวเซอร์ โดยประกอบไปด้วยคอลเล็คชั่น เมธอด และพรอพเพอร์ตี้ต่างๆ ดังนี้

คอลเล็คชั่น Cookie

เป็นคอลเล็คชั่นในการส่ง Cookie ไปยังผู้ใช้แต่ละราย ทำให้สามารถตรวจสอบประวัติการติดต่อใช้งานกับเว็บเซิร์ฟเวอร์ของผู้ใช้ในแต่ละรายได้

รูปแบบการใช้ Cookies
  • รูปแบบการใช้คำสั่ง
    Response.Cookies(cookiename) = CookieValue
  • การใช้พรอพเพอร์ตี้ของ Cookie
    Response.Cookies(cookiename).Property = PropertyValue
ตัวอย่างการใช้ Cookies

เมธอด Write

เป็นการเขียน String ส่งไปยัง Browser เช่น

<% Response.write("Hello wild World") %>

Request Object

เป็นออบเจ็กต์ที่ทำหน้าที่ในการรับข้อมูลต่างๆ ที่ส่งมาจาก Browser โดยประกอบไปด้วยพรอพเพอร์ตี้ เมธอดและคอลเล็คชั่นต่างๆ ดังนี้

ServerVariables Collection

เป็นคอลเล็คชั่นซึ่งทำหน้าที่เก็บข้อมูลต่างๆ เช่น ข้อมูล Browser ของ Client ข้อมูล Server ซึ่งการใช้งานตัวแปรต่างๆ ได้ถูกแสดงดังตาราง

ชื่อตัวแปรคำอธิบาย
"Content_Type" ชนิดข้อมูลที่ส่งมาจาก Browser
"Path_Info"เป็น Path ที่ใช้อ้างอิงกับ URL ปัจจุบัน
"Path_TranSlated" เป็น Path ที่ใช้เก็บไฟล์เอกสารจริงในเครื่อง Server
"Query_String"เป็นชุด String ที่ถูกส่งมาโดยการต่อท้าย URL
"Remote_Addr"เป็น IP ของเครื่อง Client
"Remote_Host"เป็น IP ของเครื่อง Server
"Request_Method"เป็นวิธีการส่งข้อมูลว่าเป็น Get หรือ Post
"Script_Name" ชื่อเอกสาร ASP ที่กำลังแสดง
"Server_Name"ชื่อเครื่อง Server
"Server_Software"ชื่อโปรแกรมที่ให้บริการเว็บเซิร์ฟเวอร์
ตัวอย่างการใช้ ServerVariables

Form และ QueryString Collection
  • คอลเล็คชั่นทั้งสองมีหน้าที่และการทำงานที่คล้ายคลึงกัน โดยจะรับข้อมูลที่ถูกส่งมาจาก Browser แต่จะมีความแตกต่างกันตรงที่
  • Form เป็นคอลเล็คชั่นที่ใช้รับข้อมูลจาก Form ของ HTML ซึ่งจะมาจากการ Post ข้อมูล
ตัวอย่างการใช้งาน Form

ตัวอย่างไฟล์ form.asp

การใช้งาน QueryString
  • Querystring เป็นคอลเล็คชั่นที่ใช้รับข้อมูลจาก Form ของ HTML ด้วยวิธีการ Get ข้อมูลหรือส่งข้อมูลมาตามหลัง HTTP Header
    ซึ่งจะถูกขั้นไว้ด้วยเครื่องหมาย ? ก่อน
  • รูปแบบการใช้ เป็นดังนี้
ตัวอย่างการใช้งาน Form

ตัวอย่างไฟล์ form.asp

ActiveX Component

ในการใช้งาน ASP ร่วมกับ IIS นอกเหนือจากการพัฒนาโดยเขียนภาษา Script ควบคุมและ การใช้ ASP object แล้ว เรายังสามารถใช้งาน
component พื้นฐานต่างๆ ที่มากับโปรแกรม ASP ได้ ซึ่ง Component พื้นฐานต่างๆ เหล่านี้สามารถสร้างขึ้นใช้งานเองได้ตามความสามารถของ
Active X Component นั่นเอง

คอมโพเนนต์ Browser Capabilities

คอมโพเนนต์ Browser Capabilities เป็นคอมโพเนนต์ที่ทำให้ทราบถึงข้อมูล Browser ของผู้ใช้ว่าใช้Browser จากค่ายใด เวอร์ชันไหน รองรับการใช้งานอะไรบ้าง

พรอเพอร์ตี้คำอธิบาย
Browser ชื่อบราวเซอร์
Platformแพลตฟอร์มที่ใช้
Version ชื่อเวอร์ชั่น
Majorverหมายเลขเวอร์ชันหลัก
Minorverหมายเลขเวอร์ชันรอง
Framesระบุว่า รองรับการใช้งาน Frames หรือไม่
Tables ระบุว่า รองรับการใช้งาน Tables หรือไม่
Cookiesระบุว่า รองรับการใช้งาน Cookies หรือไม่
Backgroundsoundsระบุว่า รองรับการใช้งาน Backgroundsounds หรือไม่
Vbscriptระบุว่า รองรับการใช้งาน Vbscript หรือไม่
Javascriptระบุว่า รองรับการใช้งาน Javascript หรือไม่
ตัวอย่างการใช้ Browser Capabilities

ActiveX Data Object

การที่ ASP ซึ่งถูกเขียนขึ้นมาจาก Script ชนิดต่างๆ จะสามารถทำการติดต่อไปยัง database server ได้นั้น จำเป็นต้องใช้สิ่งๆ หนึ่งช่วยในการทำการเชื่อมต่อ ซึ่งถูกเรียกว่า ODBC (Open Database Connector) โดยที่ Script จะทำการเรียก ODBC Source เพื่อทำการติดต่อกับ database server.

การใช้งาน ADO

ADO ได้ถูกออกแบบมาให้ใช้งานได้ง่าย ยิ่งถ้าโปรแกรมเมอร์มีความรู้หรือเคยพัฒนาโปรแกรมฐานข้อมูลตาม Model ของ DAO หรือ RDO มาก่อนด้วยแล้วก็สามารถใช้งาน ADO ได้ในทันที ซึ่งที่จริงแล้ว ADO ก็ถูกพัฒนาหรือปรับปรุงมาจาก DAO และ RDO เพื่อให้ใช้งานได้ง่ายและมีประสิทธิภาพนั่นเอง

ออบเจ็กต์ของ ADO

ADO จะประกอบไปด้วยออบเจ็กต์ที่สำคัญ 3 ส่วนคือ

  1. Connection Object
  2. Command Object
  3. Recordset Object
ซึ่งมีหน้าที่และการใช้งานต่างกัน

Connection Object

Connection Object มีหน้าที่ในการเปิดการติดต่อกับฐานข้อมูลโดยผ่านทาง ODBC ด้วยเมธอด Open ซึ่งมีรูปแบบและการใช้งานดังนี้

รูปแบบการใช้งาน Connection Object

ตัวอย่างการใช้งาน Connection Object

Recordset Object

Recordset Object เป็นผลลัพธ์ที่ได้จากการ Execute SQL Statement กับฐานข้อมูล ซึ่งผลที่ได้อาจจะมี Record (row) เดียว หลาย Records (rows) หรืออาจไม่มี Record (no row) เลยก็ได้ โดยในแต่ละ Record ก็จะประกอบไปด้วย Fields หรือ Columns ต่างๆ

การสร้าง Recordset Object

Recordset สามารถถูกสร้างได้จาก Recordset Object หรือ สร้างจากการใช้เมธอด Execute ของ Connection Object เพราะว่าผลลัพธ์ของการเรียกใช้เมธอด Execute จะคืนค่าออกมาเป็น Recordset นั่นเอง

ตัวอย่างการใช้ Recordset Object

อธิบายตัวอย่างการใช้ Recordset Object

จากตัวอย่างจะทำการสร้างออบเจ็กต์ ที่ใช้ในการติดต่อกับฐานข้อมูลขึ้นมา ชื่อว่า Mycon เพื่อติดต่อกับ DSN ชื่อ Detail ซึ่งได้ทำการเซต ODBC ไว้ก่อนหน้านี้แล้ว จากนั้นทำการสร้างออบเจ็กต์ Recordset ด้วยวิธีการ Execute Method

เมธอดของ Recordset

Recordset เป็นออบเจ็กต์ที่ใช้ในการเก็บ Records ที่ได้จากการ Execute กับฐานข้อมูล ดังนั้นการจัดการกับ Record เหล่านี้จำเป็นต้องใช้ Method และพรอพเพอร์ตี้ต่างๆ ดังนี้

เมธอดคำอธิบาย
AddNew เพิ่ม Record เข้าไปใน Recordset
Deleteลบ Record ภายใน Recordset
Update บันทึกการเปลี่ยนแปลงทั้งหมดกับ Record ปัจจุบัน
MoveFirstMove ไปยัง Record แรกของ Recordset
MoveNextMove ไปยัง Record ถัดไป
MovePreviousMove ไปยัง Record ก่อนหน้า
MoveLast Move ไปยัง Record สุดท้ายภายใน Recordset
AbsolutePositionใช้ในการหาตำแหน่งปัจจุบันของ Record ภายใน Recordset
BOFใช้ในการจำแนกว่า Record ปัจจุบันเป็น Record แรกหรือไม่
EOFใช้ในการจำแนกว่า Record ปัจจุบันเป็น Record สุดท้ายหรือไม่
สรุปการใช้งาน

จะเห็นได้ว่า ADO สามารถนำมาใช้งานได้ง่ายและมีประสิทธิภาพมาก ถ้าหากมีความเข้าใจในแต่ละออบเจ็กต์ การเซต ODBC และการสร้างตัวเอกสาร ASP เช่น หากต้องการเขียนภายใน HTML Tag ก็สามารถเขียนได้ทันที แต่ถ้าอยู่ภายใน ASP Tag ก็ต้องเขียน <% Response.Write("<Table>") %> หากเป็นข้อความหมายเหตุใน ASP Tag ก็สามารถใช้เครื่องหมาย (') กำกับข้างหน้าหรือคำสั่ง Rem ก็ได้เช่นกัน