ASP การบรรยายที่ 5: ส่วนประกอบ ASP (2)
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-05-30 19:58:12
ในการบรรยายครั้งก่อน เราได้เรียนรู้วิธีสร้างส่วนประกอบ โดยใช้ส่วนประกอบความสามารถของเบราว์เซอร์ ส่วนประกอบการเข้าถึงไฟล์ ส่วนประกอบ AD Rotator และส่วนประกอบการลิงก์เนื้อหา เรายังได้เรียนรู้เกี่ยวกับวิธีการ CreateObject วิธี MapPath และวิธีการ HTMLEncode ของวัตถุเซิร์ฟเวอร์ การบรรยายนี้จะศึกษาองค์ประกอบต่อไป
1. องค์ประกอบอีเมล: ออบเจ็กต์ข้อมูลการทำงานร่วมกันของ NTS
เรามักจะเห็นบนอินเทอร์เน็ตว่าเว็บไซต์หลายแห่งมีฟังก์ชันการส่งแบบออนไลน์ (นั่นคือ การใช้แบบฟอร์มเพื่อดำเนินการส่งคำถาม การสนับสนุนหรือคำติชมข้อมูล ฯลฯ) หรือส่งข้อความยืนยันไปยังผู้เยี่ยมชม ฟังก์ชันนี้ทำได้ยากสำหรับหน้าแรกส่วนตัวเนื่องจากต้องได้รับการสนับสนุนจากผู้ให้บริการหน้าแรก (การเขียนออนไลน์บนหน้าแรกส่วนตัวของฉันเขียนด้วย CGI และไม่เกี่ยวข้องกับ ASP) นี่คือตัวอย่างง่ายๆ ของหลักการ:
หมายเหตุพิเศษ: ตัวอย่างทั้งหมดที่ให้ในการบรรยายนี้ได้รับการแก้ไขแล้วบน Windows NT4.0 Server+IIS (Internet Information Server) 4.0 แต่ตัวอย่างส่วนใหญ่ก็สามารถใช้ได้กับ Windows9.x+PWS เช่นกัน อย่างไรก็ตาม หากต้องการเรียนรู้วิธีใช้ ASP ให้ดี ควรติดตั้ง Windows NT ให้อยู่ร่วมกับ Windows 95/98 ดีที่สุด (ไม่ต้องกลัวหากยังไม่เคยติดตั้งมาก่อนจะง่ายมากตราบใดที่เครื่องยังเหลืออยู่เล็กน้อย) ดีกว่านั้น NT จะกลายเป็น Win NT/Win9 โดยอัตโนมัติหลังการติดตั้ง x dual boot
<% 'wuf30.asp
ดิมเมล์
'สร้างส่วนประกอบอีเมล
ตั้งค่าเมล = Server.CreateObject("CDONTS.NewMail")
'ส่งอีเมล
เมลส่ง "[email protected]", "ถึง@intldept.com", "หัวเรื่อง", "เนื้อหา"
ตั้งเมล = ไม่มีเลย
-
นี่คือตัวอย่างที่ง่ายที่สุด จริงๆ แล้ว เมื่อใช้ส่วนประกอบนี้ คุณสามารถส่งอีเมลในรูปแบบข้อความธรรมดาหรือรูปแบบไฮเปอร์เท็กซ์ HTML ได้ ส่วนประกอบนี้ยังรองรับสำเนาคาร์บอน (CC) และสำเนาลับ (BCC) และสามารถรวมรูปภาพและไฟล์แนบได้ด้วย และยังสามารถรับอีเมลได้อีกด้วย เรียกได้ว่า ฟังก์ชั่นนี้ค่อนข้างทรงพลังเลยทีเดียว แต่โดยส่วนตัวแล้วฉันไม่ชอบมันมากนัก เนื่องจากในการใช้ส่วนประกอบนี้ คุณต้องติดตั้งบริการ SMTP ของ Windows NT Server และ IIS4.0 (สไตล์ Microsoft) และส่วนประกอบนี้ไม่รองรับโปรโตคอล POP3 ดังนั้น หากคุณไม่สามารถส่งอีเมลได้ตามปกติโดยใช้ส่วนประกอบนี้ คุณสามารถเปิด Internet Server Manager เพื่อดูว่าไซต์ SMTP เริ่มต้นได้เริ่มต้นแล้ว (เริ่ม) และการตั้งค่าที่เกี่ยวข้องบางอย่างหรือไม่ อย่างไรก็ตาม หากคุณเป็นแฟน Microsoft คุณสามารถไปที่หน้าแรกของฉัน (http://wuf.bentium.net/) เพื่อดาวน์โหลดรูทีน wuf31.asp และ sendmail.asp ของส่วนประกอบนี้และศึกษาด้วยตัวเอง
2. ใช้ส่วนประกอบของบริษัทอื่น จนถึงขณะนี้ ส่วนประกอบที่เราแนะนำจะรวมอยู่ใน IIS4.0 และคุณสามารถใช้ส่วนประกอบเหล่านี้ได้โดยตรง นอกจากนี้ คุณยังสามารถขอรับส่วนประกอบสองรายการต่อไปนี้ได้จากซีดี Microsoft IIS Resource Kit (หรือลองเสี่ยงโชคที่ http://www.microsoft.com/iis เพื่อดูว่าสามารถดาวน์โหลดได้หรือไม่):
l องค์ประกอบตัวนับหน้า: ตัวนับหน้าเว็บ
l องค์ประกอบตัวตรวจสอบสิทธิ์: องค์ประกอบการยืนยันสิทธิ์การเข้าถึงเว็บเพจ
การแนะนำส่วนประกอบในตัวของ IIS4.0 สิ้นสุดลงแล้ว แต่การศึกษาส่วนประกอบของ ASP ยังคงต้องดำเนินต่อไป ในด้านหนึ่ง มีส่วนประกอบในตัวน้อยมากใน IIS4.0 และต่อๆ ไป ในทางกลับกัน ฟังก์ชันของส่วนประกอบที่ให้มาเหล่านี้อาจไม่มีประสิทธิภาพมากนัก ซึ่งเหมาะกับความต้องการของคุณ ดังนั้น ทรัพยากรจำนวนมากขึ้นจึงเป็นส่วนประกอบของบุคคลที่สามหลายร้อยรายการที่มีอยู่บนอินเทอร์เน็ต บางส่วนเป็นของฟรี บางส่วนมีเวอร์ชันที่มีฟังก์ชันจำกัดหรือเวอร์ชันทดลองใช้งาน และแน่นอนว่าส่วนประกอบเหล่านั้นมีค่าใช้จ่ายมากกว่า (ส่วนประกอบมีราคาสามหลักเป็น $ คุณทำผิดหรือเปล่า! มันเป็นเพียงวงเวียน "แบล็กเมล์") การใช้ส่วนประกอบเหล่านี้สามารถทำให้คุณเป็นผู้เชี่ยวชาญ ASP หลอกได้ ช่วยให้คุณสร้างหน้าแรกที่มีประสิทธิภาพได้อย่างรวดเร็วและง่ายดาย เราอาจพบความรู้สึกนี้จากตัวอย่างบางส่วนเช่นกัน
(1) องค์ประกอบการอัพโหลดไฟล์ AspSmartUpload (ฟรี)
ดาวน์โหลดส่วนประกอบก่อน: ขนาดไฟล์ประมาณ 100K (คุณสามารถดาวน์โหลดได้จากเว็บไซต์ของฉัน) หลังจากดาวน์โหลดและแตกไฟล์แล้ว จะมีไฟล์ทั้งหมดมากกว่า 30 ไฟล์ ซึ่งอยู่ในไดเร็กทอรีต่างๆ คุณสามารถดูไฟล์คำแนะนำเพื่อศึกษาได้ด้วยตัวเอง
ค้นหาไฟล์ทั้งสอง AspSmartUpload.dll และ AspSmartUploadUtil.dll และใช้บรรทัดคำสั่ง "regsvr32.exe aspsmartupload.dll" และ "regsvr32.exe aspsmartuploadutil.dll" ตามลำดับในพรอมต์คำสั่งของเว็บเซิร์ฟเวอร์เพื่อลงทะเบียนส่วนประกอบ (ถ้าคุณ เมื่อใช้ Regsvr32.exe เป็นครั้งแรก คุณสามารถคัดลอกไฟล์ DLL ทั้งสองไฟล์นี้ไปยังไดเร็กทอรี "Winnt/System32" หรือ "Windows/System" ของเว็บเซิร์ฟเวอร์ก่อนได้) หากการลงทะเบียนสำเร็จ คำว่า "succeeded" จะปรากฏในหน้าต่างป๊อปอัป (หมายเหตุ: คุณต้องลงทะเบียนก่อนที่จะใช้ส่วนประกอบของบุคคลที่สาม ส่วนประกอบของบุคคลที่สามบางส่วนได้รับการติดตั้งและสามารถลงทะเบียนได้โดยอัตโนมัติ ในขณะที่ลักษณะเช่นนี้จำเป็นต้องลงทะเบียนด้วยตนเองด้วยตนเอง) หลังจากลงทะเบียนสำเร็จแล้ว ขั้นตอนต่อไปคือการเขียนโค้ดเพื่อใช้ส่วนประกอบ ตัวอย่างนี้ประกอบด้วยสองไฟล์ (โปรดทราบว่าโปรดอย่าใช้ชื่อไฟล์ภาษาจีนในระหว่างการทดสอบ):
wuf32.htm – หน้าเว็บส่วนหน้า (แบบฟอร์ม) สำหรับการอัพโหลดไฟล์
<HTML>
<style type="text/css">
-
อินพุต { ตระกูลแบบอักษร: "宋体", "Times New Roman";
-
</สไตล์>
<BODY BGCOLOR="สีขาว">
เว็บเพจสำหรับการอัพโหลดไฟล์ (คุณสามารถกำหนดจำนวนไฟล์ที่คุณสามารถอัพโหลดได้ แต่ชื่อไฟล์ต้องไม่มีตัวอักษรจีน)
<ทรัพยากรบุคคล>
<FORM METHOD="POST" ACTION="wuf34.asp" ENCTYPE="multipart/form-data">
<!-- ข้อความ -->
ชื่อผู้ใช้: <input TYPE="TEXT" name="myText" value=""><br>
<!-- รหัสผ่าน -->
รหัสผ่าน: <input TYPE="PASSWORD" name="myPASSWORD" value=""><br>
<!-- ซ่อนเร้น -->
<input TYPE="hidden" name="myHidden" value="hidden"><br>
<!-- ไฟล์ -->
ไฟล์ 1: <INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
ไฟล์ 2: <INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
ไฟล์ 3: <INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
ไฟล์ 4: <INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="ส่ง" VALUE="อัปโหลด">
</รูปแบบ>
</BODY></HTML>
กดปุ่ม "อัปโหลด" และไฟล์ wuf34.asp จะจัดการพื้นหลัง (คุณยังสามารถดาวน์โหลดไฟล์ wuf33.asp ที่ง่ายกว่าได้):
<HTML><BODY BGCOLOR="สีขาว">
ผลการอัพโหลดไฟล์:
<ทรัพยากรบุคคล>
-
หรี่ mySmartUpload, รายการ, ค่า, ไฟล์
' ขั้นแรกให้สร้างส่วนประกอบดังนี้
ตั้งค่า mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.อัปโหลด
' ใช้ For Each loop เพื่อรับค่าของแต่ละรายการในรูปแบบ From
สำหรับแต่ละรายการใน mySmartUpload.Form
สำหรับแต่ละค่าใน mySmartUpload.Form(item)
Response.Write(รายการ & " = " & ค่า & "<BR>")
ต่อไป
ต่อไป
การตอบสนองเขียน "<Hr>"
'อัพโหลดไฟล์ข้อมูล
' Response.Write("จำนวนไฟล์=" & mySmartUpload.Files.Count &"<BR>")
Response.Write("จำนวนไบต์ทั้งหมด = " & mySmartUpload.Files.TotalBytes &" ไบต์<Br><Br>")
Response.Write("รายการไฟล์: " & "<Br>")
' สำหรับแต่ละไฟล์ - มีวิธีที่ง่ายกว่านี้ ดูที่ wuf33.asp
สำหรับแต่ละไฟล์ใน mySmartUpload.Files
ถ้าไม่ใช่ไฟล์ isMissing แล้ว
'บันทึกไว้ใน C:temp ด้วยชื่อไฟล์ต้นฉบับ'
file.SaveAs("c:temp" & file.FileName)
Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>")
สิ้นสุดถ้า
ต่อไป
ตั้งค่า mySmartUpload = ไม่มีเลย
-
</ร่างกาย>
</HTML>
สำหรับการใช้งานและฟังก์ชั่นโดยละเอียดเพิ่มเติมของส่วนประกอบนี้ (เช่น การจำกัดประเภทและขนาดของไฟล์ที่อัพโหลด การอัพโหลดไปยังฐานข้อมูล การดาวน์โหลดไฟล์หรือฟิลด์ฐานข้อมูล ฯลฯ ) คุณสามารถอ่านตัวอย่างหรือศึกษาความช่วยเหลือจากต่างประเทศได้ด้วยตัวเอง หากคุณรู้สึกว่าการอ่าน E-text น่าเบื่อเกินไป คุณสามารถดาวน์โหลดส่วนประกอบการอัปโหลดไฟล์ที่ผลิตในประเทศได้ ซึ่งมีตัวช่วยและตัวอย่างภาษาจีน ซึ่งยังคงดีอยู่
(2) องค์ประกอบกราฟิก: แผนภูมิวงกลม Dundas (แผนภูมิวงกลม)
ก่อนอื่นให้ฟังสิ่งที่ผู้ให้บริการส่วนประกอบพูดว่า: "ประสิทธิภาพที่กะพริบ กราฟิกคุณภาพสูงที่สามารถทำให้ผู้คนเป็นลม ทรงพลัง ความเร็วสูง และมีความยืดหยุ่นอย่างหาที่เปรียบไม่ได้" ว้าว การคุยโวนั้นดีกว่า Wei Xiaobao ใช่ไหม ลองดูผลลัพธ์หนึ่ง:
ด้วยแผนภูมิวงกลมดังกล่าว คุณสามารถทำแบบสำรวจอย่าง Sina.com ได้ฟรี คุณจะรออะไรอีก
(1) 3DPieCSC.EXE: http://www.dundas.com/downloads/freeproducts/files/3DPieCSC.EXE
(2) FPDocInst.exe: http://www.dundas.com/downloads/freeproducts/files/FPDocInst.exe
ส่วนประกอบนี้รวมอยู่ใน 3DPieCSC.EXE ส่วนหลังเป็นเอกสารประกอบและไฟล์การติดตั้ง ฉันติดตั้งไว้ในไดเร็กทอรี "C:Inetpub3dPieCSC" ของเซิร์ฟเวอร์ ประสิทธิภาพและเข้าใจได้ยากยิ่งขึ้น นี่เป็นตัวอย่างยอดนิยมที่เรียบง่ายและใช้งานได้จริง:
wuf36.htm เรียกไฟล์ ASP ผ่านแท็ก <IMG>:
<HTML><BODY>
<IMG src="wuf37.asp">
</BODY></HTML>
wuf37.asp ใช้สร้างกราฟิก (เหมือนข้างบน กรุณาอย่าใช้ภาษาจีนในโค้ด):
<%@ ภาษา=VBScript %>
<% ตัวเลือกที่ชัดเจน
ติ่ม objPieChart
ตั้งค่า objPieChart = Server.CreateObject("Dundas.PieChartServer.1") 'สร้างส่วนประกอบก่อน
'ตั้งค่าไดเร็กทอรีการทำงาน
objPieChart.DirOutput = "C:Inetpub3dPieCSCSampleChart"
'ตั้งค่าไดเร็กทอรีที่มีไฟล์เทมเพลตอยู่'
objPieChart.DirTemplate = "C:Inetpub3dPieCSCSampleTemplates"
'แคตตาล็อกวัสดุ - คุณสามารถเปลี่ยนวัสดุและสีของกราฟิกได้อย่างง่ายดาย
objPieChart.DirTexture = "C:Inetpub3dPieCSCตัวอย่างพื้นผิว"
'เลือกไฟล์เทมเพลตซึ่งสามารถแก้ไขหรือแก้ไขได้ด้วยตัวเอง
objPieChart.LoadTemplate "PieInTheSky.cuc"
'ชื่อกราฟิก
objPieChart.Title = "นี่คือตัวอย่าง"
'เพิ่มรายการต่างๆ รวมถึงคำอธิบายป้ายน้ำหนัก
objPieChart.AddData 40, "Item1:40%", "จีน"
objPieChart.AddData 30, "Item2:30%", "สหรัฐอเมริกา"
objPieChart.AddData 30, "Item3:30%", "อื่นๆ"
'ผลลัพธ์ที่ได้จะเป็นกราฟิก สามารถระบุความกว้างและความสูงได้
objPieChart ส่ง JPEG 400,300
ตั้ง objPieChart = ไม่มีเลย
-
พูดตามตรง สิ่งที่ฟรีนี้ค่อนข้างดี แต่กิจวัตรที่ให้ไว้นั้นซับซ้อนเกินกว่าจะเชี่ยวชาญได้เพียงแค่หมวกใบหนึ่ง ตอนนี้คุณอาจต้องการอนุมานจากตัวอย่างหนึ่งและทำความเข้าใจวิธีการรับฮิสโตแกรม จริงๆ แล้วมีองค์ประกอบดังกล่าว: ShotGraph แต่ไม่จำเป็นต้องซับซ้อนมากนัก คุณเพียงแค่เตรียมภาพฮิสโตแกรมเท่านั้น (คุณสามารถ อย่าทำ! ดูคนอื่น ๆ มีในหน้าเว็บแค่บันทึกเป็นแยกต่างหาก) เพียงใช้แท็ก HTML Weight และ Height เพื่อยืดและบีบอัดตามสัดส่วน (<img src = bar.gif width = <%= ตัวแปร%> ความสูง = 10>)
นอกจากนี้ เพื่อชดเชยการเริ่มต้นการบรรยายโดยย่ออย่างมีความรับผิดชอบ ฉันขอแนะนำองค์ประกอบอีเมลสองประการอย่างจริงจัง:
(1) aspSmartMail: ระวังอย่าใช้ภาษาจีนในโค้ด ไม่เช่นนั้น คุณจะไม่สามารถส่งจดหมายได้ สำหรับรายละเอียด โปรดดูรูทีน wuf35.asp
(2) W3 Jmail: http://download.dimac.net/jmail/jmail.exe
(3) ChinaMail: http://wuf.bentium.net/ ซึ่งเป็นส่วนประกอบอีเมลภาษาจีนทั้งหมดที่เขียนโดยฉันเอง
โดยส่วนตัวแล้วฉันมีความรู้สึกที่ซับซ้อนและหนักหน่วงเกี่ยวกับส่วนประกอบ IIS4.0 มีส่วนประกอบในตัวน้อยเกินไป แต่ส่วนประกอบ E-text ออนไลน์จำนวนมากไม่รองรับภาษาจีนและไม่สนุกที่จะใช้ ไปที่ http://www.chinaasp.com/ เว็บไซต์ที่ดีที่สุดในประเทศจีน เพื่อค้นหาส่วนประกอบที่อยู่ในรายการมีน้อยมากซึ่งน่าผิดหวัง เหลือเพียงวิธีเดียวเท่านั้นนั่นคือเขียนเอง ( แต่คนธรรมดาจะเขียนเองได้หรือเปล่าเนี่ย สงสัย) ฉันค่อนข้างเห็นด้วยกับการเรียกร้องของ ChinaASP อาจหมายความว่าไม่มีบริษัทซอฟต์แวร์ใดในจีนที่เผยแพร่ส่วนประกอบของ ASP ต่อสาธารณะ แม้ว่าจะมีหนังสือมากมายเกี่ยวกับ ASP แต่ก็ไม่ได้มีรสนิยมสูงนัก อันที่จริงตอนที่ผมได้รับเชิญให้เขียนการบรรยายนี้ มีหนังสือเกี่ยวกับ ASP ในตลาดน้อยมาก แต่ตอนนี้มีมากมาย ผมยังคงแนะนำให้คุณซื้อหนังสือที่เขียนโดยชาวต่างชาติ ประการแรก หนังสือเหล่านั้นมีในรูปแบบซีดี และ อย่างที่สองคือเป็นสินค้านำเข้าทั่วไปจริงๆ นะ พูดตรงๆ ดีกว่า อ่านแล้วไม่เข้มงวด
สุดท้ายนี้ ฉันจะจัดเตรียมไซต์ทรัพยากรส่วนประกอบต่างๆ ให้กับคุณ:
(1) http://www.serverobjects.com/
(2) http://www.15seconds.com/
(3) http://www.activeserverpages.com/
(4) http://www.softartisans.com/