เอกสารประกอบการบรรยาย เรื่อง Active Server Pages (ASP)
Script สคริปต์เป็นโปรแกรมย่อยที่นำมาใชังานร่วมกับ tag ของ HTML ช่วยให้เว็บเพจมีชีวิตชีวา จาก Static เป็น Dynamic Microsoft พัฒนา VBScript จาก VB (Visual Basic) ให้ใช้ในลักษณะ Script แข่งกับ JavaScript ของ Netscape ตัวอย่าง script0-1.html ตัวอย่าง script0-2.html
สคริปต์ในเว็บเพจ สคริปต์จำแนกการทำงานได้เป็น 2 ประเภท Client Side ได้แก่ VBScript และ JavaScript Server Side ได้แก่ Active Server Page (ASP), Java Server Page (JSP), Professional Home Page (PHP), และ Perl
Active Server Pages Active Server Pages หรือ ASP เป็นภาษาสคริปต์แบบหนึ่ง ที่ไมโครซอฟท์พัฒนาขึ้นมา เพื่อใช้สร้างเอกสารบนเว็บได้เช่นเดียวกับภาษา HTML หรือ CGI ASP ถูกออกแบบให้สามารถประมวลผลได้ทั้งฝั่ง Client และ Server
Active Server Pages ฝั่ง Server Web Server ที่มาจากไมโครซอฟท์ เช่น Internet Information Server (IIS) , Personal Web Server (PWS) เป็นต้น ฝั่ง Client (เครื่องผู้ใช้) ก็จะเป็น browser ของไมโครซอฟท์ คือ IE
จุดประสงค์การใช้ ASP เพื่อขยายขีดความสามารถของเว็บเพจให้สามารถทำงานในลักษณะ Interactive Real-time ติดต่อกับ Database ผ่านทาง Web browser เช่นเดียวกับภาษา CGI อื่นๆ
หลักการทำงาน ASP ทำงานได้ทั้งทางฝั่งผู้ให้บริการ (server side) และฝั่งผู้ใช้ (client side) ผู้ใช้ร้องขอ (Request) เอกสารไปยัง server ผ่านทาง Web browser คำร้องขอจะถูกส่งให้ ASP ตีความหรือแปล แล้ว Execute ASP จะสร้างผลลัพธ์ในรูปแบบเอกสาร HTML และส่งกลับไปให้ Server เพื่อส่งกลับมายังฝั่งผู้ใช้ ผ่านทาง Web browser ทั้งหมดหมดกระทำผ่านทาง โปรโตคอล HTTP
การสร้างเอกสาร ASP ใช้โปรแกรม Notepad หรือโปรแกรม Text editor ใด ใช้โปรแกรมช่วย เช่น InterDev หรือโปรแกรม Homesite เอกสาร ASP ประกอบด้วย Text คือ ข้อความต้องการแสดงบนเว็บเพจ พร้อม Tag และ Script แท็ก Tag ของ ASP ที่ประกอบด้วยเครื่องหมาย <%....%> กำกับอยู่เสมอ โดยมี Script ของภาษา JScript หรือ VBScript อยู่ระหว่าง Tag
ตัวอย่างเอกสาร ASP <html> <body> <font size=4>ตัวอย่างเอกสาร ASP</font><BR> <% For i = 1 To 5 Response.write(“Hello ASP “ & n “<BR>”) Next%> End of Script </body> </html>
ลักษณะเด่น Dynamic Built-in Objects Built-in Components Database Access E-commerce Many Platform
จะใช้ ASP ต้องมีอะไร Server OS ต้องสนับสนุน ASP ติดตั้ง ASP PWS (Personal Web Server IIS (Internet Information Server ติดตั้ง ASP Database : Access or others
ความรู้พื้นฐานของผู้พัฒนา ใช้เอดิเตอร์เป็น เช่น Notepad, Pico, EditPlus, InterDev, UltraEdit ความรู้ภาษา HTML ระดับ Source Code ความรู้ภาษา Script เช่น VBScript, Jscript ความรู้ภาษา SQL ความรู้เรื่องฐานข้อมูล MS Access
การติดต่อ Server ผ่าน Windows จาก Desktop คลิกปุ่ม Start > Run ป้อนชื่อเครื่องเซิฟเวอร์ \\wangmuk.cs.buu.ac.th ป้อน user-id และ password กดปุ่ม OK คลิกเลือกไดเร็กทอรี 310381 และคลิกเมาส์ปุ่มขวา จากนั้นเลือก Map drive เป็น F: หรือ Z: เลือก GroupXX และ เลือก Home directory ของเรา
การเขียนเอกสารและเก็บไฟล์ลง Server เรียกใช้โปรแกรม Editor เขียนเอกสาร ASP ตรวจสอบ Save ลงในไดร๊ฟ Z: (ซึ่งเป็น Home directoryที่จำลองให้ User แต่คนละใช้) ตั้งชื่อไฟล์เป็นภาษาอังกฤษ และกำหนดชนิดเป็น .asp
การตรวจผลการทำงาน เปิด Web browser IE พิมพ์ในช่อง Address โดยระบุชื่อ Server และไดเร็กทอรี่ให้ถูกต้อง ดังนี้ http://wangmuk.compsci.buu.ac.th:3000/groupXX/48020003 ถ้าพบ error ให้ไปแก้ใน editor และ save แล้วจึงตรวจสอบผลใหม่
ตัวแปร (Variables) ตัวแปร หมายถึงชื่อที่ตั้งขึ้นเพื่อใช้แทนข้อมูลใน Script ใน VBScript ไม่มีการกำหนดชนิดข้อมูลให้ตัวแปร ถือว่าเป็น Variant ค่าในตัวแปรจะเปลี่ยนตามชนิดของตัวแปร ชื่อตัวแปรให้ขึ้นต้นด้วยตัวอักษร ความยาว ไม่เกิน 255 ห้ามใช้ + - * / # $ และ ช่องว่าง ห้ามตั้งชื่อซ้ำคำสงวน (Reserved words)
การประกาศใช้ตัวแปร ไม่จำเป็น แต่ควรประกาศ ประกาศเป็นทางการ ใช้ Dim เช่น Dim strName Dim intID, strName, strAddress ประกาศไม่เป็นทางการ strName=“Noi” intPrice=20
การกำหนดค่าให้ตัวแปร ค่าประเภท String ให้ใส่ในเครื่องหมาย “ ” เช่น strName=“Noi” ค่าประเภท Numeric ไม่ต้องใส่ในเครื่องหมาย เช่น intWeight=65 ค่าประเภท Date/Time ให้ใส่ในเครื่องหมาย # # เช่น startDate=#04/01/03# endTime=#19:30#
ตัวแปรอาร์เรย์ (Array) Array เป็นตัวแปรที่ใช้ชื่อเดียวแต่มีมิติ หรือ index กำกับ ทำให้เก็บข้อมูลได้หลายค่า กำหนด Array ดังนี้ Dim myArray(4) จะได้ myArray(0), myArray(1) myArray(2), myArray(3)
ชนิดของข้อมูล ใน VBScript มีข้อมูลชนิดเดียวเป็น Variant แต่เป็นได้หลายประเภทตามตัวแปรและเหตุการณ์ ที่สำคัญ Byte เลขจำนวนเต็ม 8 บิต 0 ถึง 255 Integer เลขจำนวนเต็ม 16 บิต -32,768 ถึง 32,767 Single เลขทศนิยมแบบสั้น Double เลขทศนิยมแบบยาว String ชุดตัวอักษร ความยาวสูงสุด 2 พันล้านตัวอักษร
ชนิดของข้อมูล (ต่อ) Date วันที่ในช่วง 1 ม.ค. 100 ถึง 31 ธ.ค. 9999 Time เวลาในช่วง 1 ม.ค. 100 ถึง 31 ธ.ค. 9999 Empty เป็น 0 เมื่อใช้กับตัวเลข เป็น “” เมื่อใช้กับข้อความ Null ไม่เก็บค่าอะไรเลย Error รหัสความผิดพลาด Object ตัวแปร Object
Operators Operators เป็นเครื่องหมายเชื่อมระหว่างข้อมูลสองค่า (เรียกว่า operands) ซึ่งอาจเป็นตัวเลข ข้อความ ค่าคงที่ หรือตัวแปรต่างๆ ทำให้เกิดนิพจน์ หรือค่าใหม่ขึ้นมา ชนิดของ operators Arithmetic + - * / ^ Comparision < > = Logical AND OR NOT String & +
การแสดงผลของ ASP ใช้ Response.write(ค่า) เช่น Response.write(“สวัสดีครับ”) Response.write(yourName) Response.write(“ผมชื่อ ” & yourName & “<br>”) หรือใช้ <%=yourName%> ตัวอย่าง asp1-1.asp
คำสั่งควบคุมโปรแกรม คำสั่งเพื่อการตัดสินใจ 1. If … Then … Else 2. Select Case คำสั่งเพื่อทำวนรอบ 1. For … Next 2. Do … Loop
คำสั่ง If … Then … Else If condition Then {instructions} Else {instructions} End if ตัวอย่าง asp1-2.asp ตัวอย่าง asp1-3.asp
คำสั่ง Select Case Select Case exp Case choice1 {instructions} Case choice2 {instructions} . . . Case else {instructions} End select ตัวอย่าง asp1-4.asp
คำสั่ง For … Next รูปแบบ For counter=start To end [Step] {instructions} Next counter เช่น For n=3 To 7 Response.write(“Month ” & n & “<br>”) Next ตัวอย่าง asp1-5.asp
คำสั่ง Do While … Loop รูปแบบ Do While condition {instructions} Loop เช่น Do While count<=12 Response.write(“Month ” & count & “<br>”) count=count+1 Loop ตัวอย่าง asp1-6.asp
คำสั่ง Do Until … Loop รูปแบบ Do Until condition {instructions} Loop เช่น Do Until count>12 Response.write(“Month ” & count & “<br>”) count=count+1 Loop
Function และ Procedure ฟังก์ชัน จะขึ้นต้นด้วย function และจบด้วย end function จะใช้ในกรณีต้องการให้มีการคืนค่ากลับ เมื่อเรียกใช้ฟังก์ชันนั้นทำงาน โพรซีเยอร์ จะขึ้นต้นด้วย sub และจบด้วย end sub โพรซีเยอร์จะไม่มีการคืนค่าใดๆ กลับออกมา ทั้งฟังก์ชันและโพรซีเยอร์ จะเขียนแยกไว้ต่างหากในลักษณะโปรแกรมย่อย
การเขียนฟังก์ชันและโพรซีเยอร์ ทั้งฟังก์ชันและโพรซีเยอร์ จะเขียนแยกไว้ต่างหากลักษณะโปรแกรมย่อย แล้วจึงเขียนคำสั่งจากโปรแกรมหลัก มาใช้งานอีกทอดหนึ่ง VBScript กำหนดให้เขียนไว้ต่อท้ายเอกสาร และจะต้องมีประโยคที่ระบุว่า ให้ทำงานที่ server (runat= “server”) กำหนดไว้ด้วย
The End