|
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)
สรุปความพร้อม
- เตรียม HARDWARE ที่จะใช้พัฒนา ASP
- เตรียม SOFTWARE ที่จะใช้พัฒนา ASP
- โปรแกรมระบบปฏิบัติการ (OS)
- โปรแกรม Web Server
- โปรแกรม 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 ได้แก่
- VBScript - เป็นภาษาที่คิดค้นโดยบริษัท Microsoft ซึ่งมีโครงสร้างของภาษาส่วนใหญ่คล้ายคลึงกับภาษา Visual Basic หรือเราอาจจะเรียกได้ว่าภาษา VBScript เป็นสับเซตของภาษา Visual Basic ก็ได้ (ปัจจุบัน VBScript 5.0)
- JScript - เป็นภาษาที่บริษัท Microsoft ดัดแปลงมาจากภาษา JavaScript ของบริษัท Netscape (ปัจจุบัน JScript 5.0)
- 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
- HTML Code - เป็นการเขียนร่วมกับภาษา HTML
- Script Delimiters - เป็นแท็กเปิดปิดเพื่อบอกว่าเป็น Script ของ ASP คือ <% ASPCode %>
- Script Code - เป็น Script ที่ใช้งานหรือเขียนควบคุม
- ActiveX Components - เป็น Component ที่ถูกสร้างขึ้นเพื่อใช้งานร่วมกับ ASP ตามหลักการของ COM (Component Object Model)
- ASP Objects - เป็น Object ใช้งานใน ASP
การใช้งาน ASP จำเป็นต้องศึกษา Object ต่างๆ ดังนี้
- Application Object
- Session Object
- Server Object
- Response Object
- Request Object
การใช้งาน ASP จำเป็นต้องศึกษา Component ต่างๆ ดังนี้
- Ad Rotator Component
- Browser Capabilities Component
- File Access Component
- Content Linking Component
- 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 ส่วนคือ
- Connection Object
- Command Object
- 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 ปัจจุบัน |
MoveFirst | Move ไปยัง Record แรกของ Recordset |
MoveNext | Move ไปยัง Record ถัดไป |
MovePrevious | Move ไปยัง 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 ก็ได้เช่นกัน
|
|