เริ่มต้นจากบทความนี้ผู้เขียนเริ่มต้นด้วยวัตถุในตัว ASP และวิเคราะห์คุณสมบัติและวิธีการของวัตถุในตัวหกตัวและส่วนประกอบต่าง ๆ ของ ASP สำหรับคุณในรายละเอียด
ก่อนที่จะเริ่มเรียนรู้วัตถุและส่วนประกอบในตัวของ ASP อย่างเป็นทางการให้เราเข้าใจแนวคิดพื้นฐานบางอย่างซึ่งจะช่วยได้ดีในการเรียนรู้ในอนาคตของคุณ โปรดดูตารางด้านล่าง:
เซิร์ฟเวอร์ที่ใช้งานอยู่คอลเลกชันของเทคโนโลยีฝั่งเซิร์ฟเวอร์ที่จัดส่งด้วย Windows NT เทคโนโลยีเหล่านี้มีส่วนประกอบฝั่งเซิร์ฟเวอร์ที่สอดคล้องกันโมเดลการเขียนสคริปต์และบริการระบบแบบรวมสำหรับการจัดการแอปพลิเคชันส่วนประกอบการเข้าถึงฐานข้อมูลการทำธุรกรรมและข้อความ
หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ (ASP) สภาพแวดล้อมการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์ที่เรียกใช้สคริปต์ ActiveX และส่วนประกอบ ActiveX บนเซิร์ฟเวอร์ นักพัฒนาสามารถรวมสคริปต์และส่วนประกอบเพื่อสร้างแอปพลิเคชันบนเว็บ
ActiveX ช่วยให้นักพัฒนาสามารถสร้างส่วนประกอบแบบโต้ตอบสำหรับเวิลด์ไวด์เว็บด้วยคำศัพท์ทางเทคนิคของ Microsoft ที่หลากหลาย ชุดของเทคโนโลยีการทำงานร่วมกันที่ไม่ขึ้นกับภาษาที่อนุญาตให้ส่วนประกอบซอฟต์แวร์ที่เขียนในภาษาต่าง ๆ เพื่อทำงานร่วมกันในสภาพแวดล้อมเครือข่าย องค์ประกอบสำคัญของ ActiveX คือโมเดลวัตถุส่วนประกอบ (COM) และโมเดลวัตถุส่วนประกอบแบบกระจาย (DCOM) เทคโนโลยีเหล่านี้ได้รับใบอนุญาตจากองค์กรเปิดและได้รับการย้ายไปยังหลายแพลตฟอร์ม
ADO Active Data Object ชุดอินเทอร์เฟซการเข้าถึงข้อมูลตามวัตถุที่ได้รับการปรับให้เหมาะสมสำหรับแอปพลิเคชันข้อมูลที่เน้นข้อมูลบนอินเทอร์เน็ต ADO ขึ้นอยู่กับข้อกำหนดที่เผยแพร่และมาพร้อมกับ Microsoft Internet Information Server และ Microsoft Visual Interdev
ชื่อแหล่งข้อมูล DSN อินเทอร์เฟซฐานข้อมูลแบบเปิด (ODBC) ใช้เพื่ออ้างถึงชื่อเชิงตรรกะของไดรเวอร์หรือข้อมูลอื่น ๆ ที่จำเป็นในการเข้าถึงข้อมูล ชื่อของเซิร์ฟเวอร์ข้อมูลอินเทอร์เน็ตที่ใช้ในการเชื่อมต่อกับแหล่งข้อมูล ODBC เช่นฐานข้อมูล SQL Server
เหตุการณ์: การกระทำใด ๆ ที่เหตุการณ์ได้รับการตอบสนองโดยโปรแกรมที่สร้างโดยผู้ใช้หรือการควบคุม ActiveX เหตุการณ์ทั่วไปรวมถึงการกดปุ่มคีย์บอร์ดคลิกปุ่มเลือกโดยใช้เมาส์และการทำงานของเมาส์อื่น ๆ โปรแกรมเมอร์เขียนรหัสที่ตอบสนองต่อการดำเนินการเหล่านี้
วัตถุ: วัตถุเป็นตัวแปรที่ประกอบด้วยการดำเนินการและข้อมูลที่ถือเป็นเอนทิตีที่สมบูรณ์ในการเขียนโปรแกรมเชิงวัตถุ วัตถุจะขึ้นอยู่กับรูปแบบเฉพาะที่ลูกค้าใช้บริการของวัตถุเพื่อเข้าถึงข้อมูลของวัตถุผ่านส่วนต่อประสานของชุดวิธีหรือฟังก์ชั่นที่เกี่ยวข้อง จากนั้นไคลเอนต์สามารถเรียกวิธีการเหล่านี้เพื่อดำเนินการบางอย่าง
ODBC เปิดอินเทอร์เฟซฐานข้อมูล อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันที่อนุญาตให้แอปพลิเคชันเข้าถึงข้อมูลจากแหล่งข้อมูลที่มีอยู่ข้อกำหนดมาตรฐานมาตรฐานสำหรับการเข้าถึงข้อมูลข้ามแพลตฟอร์มต่างๆ
ภาษาคิวรีที่มีโครงสร้างของ SQL ภาษาแบบสอบถามโครงสร้าง มาตรฐานสากลสำหรับการกำหนดและเข้าถึงฐานข้อมูลเชิงสัมพันธ์
วัตถุคืออะไร? มันไม่ได้หมายถึงเพื่อนชายหรือหญิงที่คุณมีความรัก ในการเขียนโปรแกรมเชิงวัตถุวัตถุหมายถึงตัวแปรที่ประกอบด้วยการดำเนินการและข้อมูลที่ถือเป็นเอนทิตีที่สมบูรณ์ วัตถุจะขึ้นอยู่กับโมเดลเฉพาะที่ไคลเอนต์ใช้บริการของวัตถุเพื่อเข้าถึงข้อมูลของวัตถุผ่านอินเทอร์เฟซของชุดวิธีหรือฟังก์ชั่นที่เกี่ยวข้องและจากนั้นไคลเอนต์สามารถเรียกใช้วิธีการเหล่านี้เพื่อดำเนินการบางอย่าง ส่วนประกอบ ActiveX เป็นกุญแจสำคัญในการสร้างเว็บแอปพลิเคชันและส่วนประกอบให้วัตถุที่ทำงานในสคริปต์ ส่วนประกอบ ActiveX เป็นไฟล์ที่มีรหัสที่เรียกใช้งานรายการหรือชุดของงาน ส่วนประกอบสามารถใช้ประโยชน์จากการสร้างบล็อกพื้นฐานสำหรับสคริปต์และแอปพลิเคชันบนเว็บ ตราบใดที่คุณทราบวิธีการเข้าถึงวัตถุที่จัดทำโดยส่วนประกอบแม้แต่มือใหม่ในการเขียนสคริปต์ก็สามารถเขียนสคริปต์ได้โดยไม่เข้าใจว่าส่วนประกอบทำงานอย่างไร ในระยะสั้นส่วนประกอบช่วยให้คุณสามารถเขียนสคริปต์ที่มีประสิทธิภาพโดยไม่ต้องเรียนรู้การเขียนโปรแกรม ส่วนประกอบเป็นรหัสปฏิบัติการที่มีอยู่ในไลบรารีลิงก์ไดนามิก. dll หรือไฟล์ที่เรียกใช้งานได้. exe ส่วนประกอบอาจให้วัตถุหนึ่งวัตถุขึ้นไปรวมถึงวิธีการและคุณสมบัติของวัตถุ ในการใช้วัตถุที่จัดทำโดยส่วนประกอบให้สร้างอินสแตนซ์ของวัตถุและกำหนดอินสแตนซ์ใหม่ชื่อตัวแปร ใช้เมธอด Server.CreateObject ของ ASP เพื่อสร้างอินสแตนซ์ของวัตถุและใช้คำสั่งการกำหนดตัวแปรของภาษาสคริปต์เพื่อตั้งชื่ออินสแตนซ์ของวัตถุ ดังที่แสดงในตัวอย่างต่อไปนี้:
ตั้งค่า db = server.createObject (adodb.connection)
DB ตัวแปรนี่คืออินสแตนซ์ของวัตถุที่เข้าถึงฐานข้อมูลที่สร้างโดยโปรแกรม ASP
หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ให้บริการวัตถุในตัวที่สามารถใช้ในสคริปต์ วัตถุเหล่านี้ช่วยให้ผู้ใช้รวบรวมข้อมูลที่ส่งผ่านคำขอเบราว์เซอร์ตอบสนองต่อเบราว์เซอร์และจัดเก็บข้อมูลผู้ใช้ได้ง่ายขึ้นดังนั้นจึงเป็นการปลดปล่อยนักพัฒนาวัตถุจากงานที่น่าเบื่อมากมาย เวอร์ชัน ASP ปัจจุบันมีวัตถุในตัวทั้งหมดหกชิ้น
1. คำขอวัตถุ
คุณสามารถใช้วัตถุคำขอเพื่อเข้าถึงข้อมูลทั้งหมดที่ส่งผ่านคำขอ HTTP ใด ๆ รวมถึงพารามิเตอร์คุกกี้และการตรวจสอบผู้ใช้ที่ส่งผ่านจากตาราง HTML โดยใช้วิธีการโพสต์หรือรับเมธอด วัตถุคำขอช่วยให้คุณสามารถเข้าถึงข้อมูลไบนารีที่ส่งโดยไคลเอนต์ไปยังเซิร์ฟเวอร์
ขอไวยากรณ์:
คำขอ [.
ที่นี่ผู้เขียนจะเลือกไวยากรณ์วัตถุที่ใช้กันทั่วไปเพื่อการวิเคราะห์
1. แบบฟอร์ม
คอลเลกชันแบบฟอร์มดึงค่าขององค์ประกอบตารางที่ส่งไปยังร่างกายคำขอ HTTP โดยใช้วิธีการโพสต์
ไวยากรณ์
request.form (องค์ประกอบ) [(ดัชนี) | .count]
พารามิเตอร์
องค์ประกอบระบุชื่อขององค์ประกอบตารางเพื่อดึงคอลเลกชัน
ดัชนีตัวเลือกพารามิเตอร์ซึ่งช่วยให้คุณสามารถเข้าถึงหนึ่งในหลายค่าในพารามิเตอร์ มันอาจเป็นจำนวนเต็มใด ๆ ระหว่าง 1 และ request.form (พารามิเตอร์). count
นับจำนวนองค์ประกอบในคอลเลกชัน
คอลเลกชันแบบฟอร์มถูกจัดทำดัชนีโดยชื่อของพารามิเตอร์ในตัวคำขอ ค่าของ request.form (องค์ประกอบ) เป็นอาร์เรย์ของค่าองค์ประกอบทั้งหมดในร่างกายคำขอ กำหนดจำนวนของค่าในพารามิเตอร์โดยเรียกร้องให้ calling.form (องค์ประกอบ) .count หากพารามิเตอร์ไม่เชื่อมโยงหลายค่าการนับคือ 1 หากไม่พบพารามิเตอร์การนับคือ 0 ในการอ้างอิงค่าเดียวในองค์ประกอบตารางที่มีหลายค่าจะต้องระบุค่าดัชนี พารามิเตอร์ดัชนีสามารถเป็นหมายเลขใดก็ได้จาก 1 ถึง request.form (องค์ประกอบ). count หากมีการอ้างอิงพารามิเตอร์หนึ่งในหลายตารางและไม่ได้ระบุค่าดัชนีข้อมูลที่ส่งคืนจะเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาค
คุณสามารถใช้ RESTATER เพื่อแสดงค่าข้อมูลทั้งหมดในคำขอตาราง
สำหรับพารามิเตอร์งานอดิเรกคุณสามารถดึงค่าเหล่านี้โดยใช้สคริปต์ด้านล่าง <html> <head> <title> </title> </head> <body> <p> โปรดเติมเต็มงานอดิเรกของคุณ </p> <วิธีการแบบฟอร์ม = โพสต์การกระทำ = form.asp> <p> <อินพุตประเภท = ชื่อข้อความ = Hobby size = 20> <br> <อินพุตประเภท = ชื่อช่องทำเครื่องหมาย = ค่า Hobby = ฟุตบอล> ฟุตบอล <ประเภทอินพุต = ชื่อช่องทำเครื่องหมาย = ค่า Hobby = Table Tennis> Table Tennis </p> <p> <อินพุต type = ส่งค่า = ส่งชื่อ = b1> <อินพุต type = รีเซ็ตค่า = refill name = b2> </p> </form> < % สำหรับแต่ละ i ใน request.form (Hobby) Response.Write I & <br> next % > </body> </html>
ขูดรหัสด้านบนลงใน Notepad (โปรดทราบว่าคุณลบช่องว่างหลังจาก <) บันทึกเป็นไฟล์ฟอร์มและเรียกใช้ แบบฟอร์ม
แน่นอนว่าการใช้สำหรับ ... ลูปถัดไปยังสามารถสร้างเอาต์พุตเดียวกันดังที่แสดงด้านล่าง:
-
สำหรับ i = 1 เพื่อขอรูปแบบ (งานอดิเรก). count
response.write request.form (งานอดิเรก) (i) & <br> ถัดไป
-
2. Querystring
คอลเลกชัน QueryString ดึงค่าของตัวแปรในสตริงการสืบค้น HTTP ชอบ:
<a href = example.asp? string = นี่คือตัวอย่าง> ตัวอย่างสตริง < /a>
สร้างสตริงชื่อตัวแปรที่มีค่านี่คือตัวอย่าง สามารถสร้างสตริงแบบสอบถามได้โดยการส่งตารางหรือโดยผู้ใช้พิมพ์แบบสอบถามลงในกล่องที่อยู่ของเบราว์เซอร์ของเขา
ไวยากรณ์
request.QueryString (ตัวแปร) [(ดัชนี) | .Count]
คอลเลกชัน QueryString ช่วยให้คุณสามารถดึงตัวแปร query_string ตามชื่อ ค่าของ request.QueryString (พารามิเตอร์) เป็นอาร์เรย์ของค่าของพารามิเตอร์ทั้งหมดที่ปรากฏใน query_string คุณสามารถกำหนดจำนวนค่าที่พารามิเตอร์มีโดยการเรียกร้องขอ QueryString (พารามิเตอร์) .count
นอกจากนี้เรายังสามารถใช้ QueryString เพื่อให้ได้ฟังก์ชั่นเดียวกับตัวอย่างก่อนหน้า เพียงแทนที่ request.form บางส่วนดังนี้:
-
สำหรับฉันแต่ละคนในการร้องขอ QueryString (งานอดิเรก)
Response.write i & <br>
ต่อไป
-
3. คุกกี้
คุกกี้คืออะไร? เครื่องหมายนี้ แต่ละเว็บไซต์มีแท็กของตัวเองและเนื้อหาที่ติดแท็กสามารถอ่านได้ตลอดเวลา แต่สามารถทำได้โดยหน้าของเว็บไซต์นั้นเท่านั้น คุกกี้สำหรับแต่ละไซต์มีอยู่ในไฟล์ต่าง ๆ ในโฟลเดอร์เดียวกับคุกกี้สำหรับไซต์อื่น ๆ ทั้งหมด (คุณสามารถค้นหาได้ในโฟลเดอร์คุกกี้ในไดเรกทอรี Windows) คุกกี้เป็นแท็กที่ระบุลูกค้าโดยเฉพาะ ชุดคุกกี้ที่จัดทำตามคำขอช่วยให้ผู้ใช้สามารถดึงค่าของคุกกี้ที่ส่งในคำขอ HTTP คุณสมบัตินี้มักจะใช้ในโปรแกรม ASP เช่นต้องใช้รหัสผ่านลูกค้าที่ผ่านการรับรองความถูกต้องและกระดานข่าวอิเล็กทรอนิกส์ห้องแชทบนเว็บ ฯลฯ
ไวยากรณ์
request.cookies (คุกกี้) [(คีย์) | .attribute]
พารามิเตอร์
คุกกี้ระบุคุกกี้ที่มีค่าที่คุณต้องการดึง
พารามิเตอร์ทางเลือกที่สำคัญเพื่อดึงค่าของคำศัพท์ย่อยจากพจนานุกรมคุกกี้
Attribe ระบุข้อมูลของคุกกี้เอง ตัวอย่างเช่น: Haskeys เป็นแบบอ่านอย่างเดียวโดยระบุว่าคุกกี้มีคำหลักหรือไม่
คำพูดย่อยของพจนานุกรมคุกกี้สามารถเข้าถึงได้โดยรวมถึงค่าคีย์ หากไม่ได้ระบุคีย์เมื่อเข้าถึงพจนานุกรมคุกกี้คำหลักทั้งหมดจะถูกส่งคืนเป็นสตริงแบบสอบถามเดียว ตัวอย่างเช่นหาก MyCookie มีคำหลักสองคำแรกและที่สองและไม่มีการระบุอย่างใดอย่างหนึ่งเมื่อเรียกร้องขอการร้องขอ cookies สตริงต่อไปนี้จะถูกส่งคืน
first = firstKeyValue & second = secondKeyValue
หากเบราว์เซอร์ไคลเอ็นต์ส่งคุกกี้สองตัวที่มีชื่อเดียวกันคำขอ cookie จะส่งคืนหนึ่งด้วยโครงสร้างเส้นทางที่ลึกกว่า ตัวอย่างเช่นหากมีคุกกี้สองตัวที่มีชื่อเดียวกัน แต่หนึ่งในนั้นมีแอตทริบิวต์เส้นทางของ/www/และอื่น ๆ คือ/www/home/เบราว์เซอร์ไคลเอ็นต์ส่งคุกกี้ทั้งสองไปยัง/www/home/directory ที่ ในเวลาเดียวกันนั้นขอให้ Cookie จะคืนคุกกี้ที่สองเท่านั้น
เพื่อตรวจสอบว่าคุกกี้เป็นพจนานุกรมคุกกี้ (ไม่ว่าจะเป็นคุกกี้มีคำหลัก) ให้ใช้สคริปต์ต่อไปนี้หรือไม่
< %= request.cookies (Mycookie) .haskeys %>
หาก MyCookie เป็นพจนานุกรมคุกกี้การมอบหมายก่อนหน้านี้จะเป็นจริง มิฉะนั้นมันเป็นเท็จ มาดูตัวอย่างของคุกกี้กันเถอะ:
-
ชื่อเล่น = request.form (nick) response.cookies (nick) = ชื่อเล่น
'ใช้วัตถุตอบกลับเพื่อเขียนชื่อผู้ใช้ลงในคุกกี้
Response.write ยินดีต้อนรับ & คำขอ. cookies (nick) และไปยังเว็บไซต์!
-
<html> <head> <meta http-equiv = เนื้อหาประเภทเนื้อหา = text/html;
<title> คุกกี้ </title>
<meta name = generator content = Microsoft FrontPage 3.0> </head>
<body>
<วิธีการฟอร์ม = โพสต์การกระทำ = cookie.asp>
<p> <อินพุตประเภท = ชื่อข้อความ = nick size = 20>
<ประเภทอินพุต = ส่งค่า = ส่งชื่อ = b1> <อินพุต type = reset value = refill name = b2> </p> </form>
</body> </html>
นี่เป็นวิธีการทั่วไปในโปรแกรม BBS บนเว็บหรือโปรแกรมแชท ASP
4. ServerVariables
ทุกคนรู้ว่าโปรโตคอลการส่งข้อมูลที่ใช้เมื่อเรียกดูหน้าเว็บในเบราว์เซอร์คือ HTTP . ในการตอบกลับที่แตกต่างกันคุณต้องใช้คอลเลกชัน ServerVariables เพื่อรับข้อมูลที่จำเป็น
ไวยากรณ์
request.serverVariables (ตัวแปรสภาพแวดล้อมเซิร์ฟเวอร์)
เนื่องจากตัวแปรสภาพแวดล้อมเซิร์ฟเวอร์จำนวนมากผู้เขียนจะแสดงรายการตัวแปรที่ใช้กันทั่วไปในตารางต่อไปนี้เท่านั้น:
| all_http | ไฟล์ส่วนหัว HTTP ทั้งหมดที่ส่งโดยไคลเอนต์ |
| content_length | ความยาวของเนื้อหาที่ออกโดยลูกค้า |
| content_type | ประเภทข้อมูลของเนื้อหา ตัวอย่างเช่น: ข้อความ/html ใช้กับการสืบค้นข้อมูลเพิ่มเติมเช่น HTTP Queries Get, Post และ Put |
| local_addr | ส่งคืนที่อยู่เซิร์ฟเวอร์ที่ยอมรับคำขอ ตัวแปรนี้มีความสำคัญมากหากคุณค้นหาที่อยู่ที่ใช้โดยคำขอบนเครื่องหลายโฮสต์ที่เชื่อมโยงที่อยู่ IP หลายตัว |
| logon_user | ผู้ใช้เข้าสู่บัญชี Windows NT |
| query_string | สอบถามข้อมูลหลังจากเครื่องหมายคำถาม (?) ในคำขอ HTTP |
| รีโมท _addr | ที่อยู่ IP ของโฮสต์ระยะไกล (ไคลเอนต์) ที่ออกคำขอ |
| รีโมท _host | ชื่อของโฮสต์ (ลูกค้า) ที่ออกคำขอ หากเซิร์ฟเวอร์ไม่มีข้อมูลนี้จะถูกตั้งค่าเป็นตัวแปร MOTE_ADDR ที่ว่างเปล่า |
| request_method | วิธีนี้ใช้ในการร้องขอ มันเทียบเท่ากับการได้รับหัวโพสต์ ฯลฯ ที่ใช้สำหรับ http |
| server_name | ชื่อโฮสต์เซิร์ฟเวอร์, DNS Pseudonym หรือที่อยู่ IP ที่ปรากฏใน URL ที่อ้างอิงตนเอง |
| Server_port | หมายเลขพอร์ตเพื่อส่งคำขอ |
เราสามารถพิมพ์ตัวแปรสภาพแวดล้อมเซิร์ฟเวอร์ทั้งหมดโดยใช้สคริปต์ต่อไปนี้
<table>
<tr> <td> <b> ตัวแปรเซิร์ฟเวอร์ </b> </td> <td> <b> ค่า </b> </td> </tr> < % สำหรับแต่ละชื่อใน request.ServerVariables %>
<tr> <td> < %= ชื่อ %> </td> <td> < %= request.serverVariables (ชื่อ) %> </td> </tr> </table>
< %ถัดไป %>
วันนี้เราได้เรียนรู้รายละเอียดวัตถุคำขอในวัตถุในตัว ASP ซึ่งเป็นวัตถุที่ใช้บ่อยที่สุดในโปรแกรม ASP