ĿǰÔÚWINDOWS»·¾³ÏÂÓжàÖÖ·ÃÎÊWEBÊý¾Ý¿âµÄ¼¼Êõ£¬Ö÷ÒªÓУº
1.¹«¹²Íø¹Ø½Ó¿ÚCGI(Common Gateway Interface)
CGIÊǽÏÔçʵÏֵļ¼Êõ¡£ÊÊÓÃÓÚ¶àÖÖ·þÎñÆ÷ƽ̨£¬ÈçUNIX¡¢WINDOWSµÈ£¬µ«CGIµÄ¿ª·¢³É±¾¸ß¡¢Î¬»¤À§ÄÑ¡¢¹¦ÄÜÓÐÏÞ¡¢²»¾ß±¸ÊÂÎñ´¦Àí¹¦ÄÜ¡¢Õ¼Ó÷þÎñÆ÷×ÊÔ´½Ï¶à¡£
2. INTERNETÊý¾Ý¿âÁ¬½ÓÆ÷IDC(Internet Database Connector)
IDC¼¯³ÉÔÚISAPI(Internet Server API)ÖУ¬³ä·ÖÀûÓÃÁËDLL¼¼Êõ£¬Ò×À©³ä£¬µ«±à³Ì½ÏCGI¸üΪ¸´ÔÓ£¬Ö»ÊÊÓÃÓÚСÐÍÊý¾Ý¿âϵͳ¡£
3. ÏȽøÊý¾Ý¿âÁ¬½ÓÆ÷ADC(Advance Database Connector)
ADCÌṩÁËActiveX ControlÀ´·ÃÎÊÊý¾Ý¿â£¬ËüµÄÖ÷ÒªÌØµãÊÇÊý¾Ý²éѯÓÉÓû§¶Ëä¯ÀÀÆ÷Ö´ÐУ¬Òò¶øÐ轫·þÎñÆ÷¶ËÊý¾Ý¿âÖеIJ¿·Ö¼Ç¼ÏÂÔØµ½Óû§¶Ë£¬ÏµÍ³¿ªÏú½Ï´ó¡¢ÏìÓ¦Âý£¬Ö»ÊÊÓÃÓÚÌØ±ðƵ·±µÄÊý¾Ý¿â²éѯ²Ù×÷¡£
4. JAVA/JDBCÓïÑÔ±à³Ì
JAVAÓïÑÔÊÇÒ»ÖÖÃæÏò¶ÔÏó¡¢Ò×ÒÆÖ²¡¢¶àÏ߳̿ØÖƵÄÓïÑÔ£¬¿Éͨ¹ýJDBCÈ¥Á¬½ÓÊý¾Ý¿â¡£ÓÃJAVA/JDBC±àдµÄÈí¼þ¿ÉÒÆÖ²ÐÔÇ¿£¬ÊÊÓÃÓÚ¶àÖÖ²Ù×÷ϵͳ£¬µ«ÆäÖ´ÐÐЧÂʺÍÖ´ÐÐËÙ¶È»¹²»ÀíÏ룬ĿǰÎÞ·¨½¨Á¢¸ßЧ¡¢¸ßËÙµÄÓ¦Óá£
5. ¶¯Ì¬·þÎñÆ÷Ò³ÃæASP(Active Server Page)
ASPÊÇ΢Èí¹«Ë¾×îÐÂÍÆ³öµÄWEBÓ¦Óÿª·¢¼¼Êõ£¬×ÅÖØÓÚ´¦Àí¶¯Ì¬ÍøÒ³ºÍWEBÊý¾Ý¿âµÄ¿ª·¢£¬±à³ÌÁé»î¡¢¼ò½à£¬¾ßÓнϸߵÄÐÔÄÜ£¬ÊÇĿǰ·ÃÎÊWEBÊý¾Ý¿âµÄ×î¼ÑÑ¡Ôñ¡£
¶þ. ASP¼ò½é
1.ASP·ÃÎÊÊý¾Ý¿âµÄÔÀí
ASPÊÇ·þÎñÆ÷¶ËµÄ½Å±¾Ö´Ðл·¾³£¬¿ÉÓÃÀ´²úÉúºÍÖ´Ðж¯Ì¬µÄ¸ßÐÔÄܵÄWEB·þÎñÆ÷³ÌÐò¡£
µ±Óû§Ê¹ÓÃä¯ÀÀÆ÷ÇëÇóASPÖ÷ҳʱ£¬WEB·þÎñÆ÷ÏìÓ¦£¬µ÷ÓÃASPÒýÇæÀ´Ö´ÐÐASPÎļþ£¬²¢½âÊÍÆäÖеĽű¾ÓïÑÔ(JScript »òVBScript)£¬Í¨¹ýODBCÁ¬½ÓÊý¾Ý¿â£¬ÓÉÊý¾Ý¿â·ÃÎÊ×é¼þADO(ActiveX Data Objects)Íê³ÉÊý¾Ý¿â²Ù×÷£¬×îºóASPÉú³É°üº¬ÓÐÊý¾Ý²éѯ½á¹ûµÄHTMLÖ÷Ò³·µ»ØÓû§¶ËÏÔʾ¡£
ÓÉÓÚASPÔÚ·þÎñÆ÷¶ËÔËÐУ¬ÔËÐнá¹ûÒÔHTMLÖ÷Ò³ÐÎʽ·µ»ØÓû§ä¯ÀÀÆ÷£¬Òò¶øASPÔ´³ÌÐò²»»áйÃÜ£¬Ôö¼ÓÁËϵͳµÄ°²È«±£ÃÜÐÔ¡£´ËÍ⣬ASPÊÇÃæÏò¶ÔÏóµÄ½Å±¾»·¾³£¬Óû§¿É×ÔÐÐÔö¼ÓActiveX×é¼þÀ´À©³äÆä¹¦ÄÜ£¬ÍØÕ¹Ó¦Ó÷¶Î§¡£
2.ASPÒ³ÃæµÄ½á¹¹£º
ASPµÄ³ÌÐò´úÂë¼òµ¥¡¢Í¨Óã¬ÎļþÃûÓÉ.asp½á⣬ASPÎļþͨ³£ÓÉËIJ¿·Ö¹¹³É£º
1) ±ê×¼µÄHTML±ê¼Ç£ºËùÓеÄHTML±ê¼Ç¾ù¿ÉʹÓá£
2) ASPÓï·¨ÃüÁλÓÚ<% %> ±êÇ©ÄÚµÄASP´úÂë¡£
3) ·þÎñÆ÷¶ËµÄincludeÓï¾ä£º¿ÉÓÃ#includeÓï¾äµ÷ÈëÆäËüASP´úÂ룬ÔöÇ¿Á˱à³ÌµÄÁé»îÐÔ¡£
4) ½Å±¾ÓïÑÔ£ºASP×Ô´øJScriptºÍVBScriptÁ½Öֽű¾ÓïÑÔ£¬Ôö¼ÓÁËASPµÄ±à³Ì¹¦ÄÜ£¬Óû§Ò²¿É°²×°ÆäËü½Å±¾ÓïÑÔ£¬ÈçPerl¡¢RexxµÈ¡£
3.ASPµÄÔËÐл·¾³
ĿǰASP¿ÉÔËÐÐÔÚÈýÖÖ»·¾³Ï¡£
1) WINDOWS NT server 4.0ÔËÐÐIIS 3.0(Internet Information Server)ÒÔÉÏ¡£
2) WINDOWS NT workstation 4.0ÔËÐÐPeer Web Server 3.0ÒÔÉÏ¡£
3) WINDOWS 95/98ÔËÐÐPWS(Personal Web Server)¡£
ÆäÖÐÒÔNT serverÉϵÄIIS¹¦ÄÜ×îÇ¿£¬ÌṩÁ˶ÔASPµÄÈ«ÃæÖ§³Ö£¬ÊÇ´´½¨¸ßËÙ¡¢Îȶ¨µÄASPÖ÷Ò³µÄ×î¼ÑÑ¡Ôñ¡£
4.ASPµÄÄÚ½¨¶ÔÏó
ASPÌṩÁËÁù¸öÄÚ½¨¶ÔÏ󣬹©Óû§Ö±½Óµ÷Óãº
1) Application¶ÔÏ󣺸ºÔð¹ÜÀíËùÓлỰÐÅÏ¢£¬¿ÉÓÃÀ´ÔÚÖ¸¶¨µÄÓ¦ÓóÌÐòµÄËùÓÐÓû§Ö®¼ä¹²ÏíÐÅÏ¢¡£
2) Session¶ÔÏ󣺴æÖüÌØ¶¨Óû§µÄ»á»°ÐÅÏ¢£¬Ö»±»¸ÃÓû§·ÃÎÊ£¬µ±Óû§ÔÚ²»Í¬WEBÒ³ÃæÌø×ªÊ±£¬SessionÖеıäÁ¿ÔÚÓû§Õû¸ö»á»°¹ý³ÌÖÐÒ»Ö±±£´æ¡£Session¶ÔÏóÐècookieÖ§³Ö¡£
3) Request¶ÔÏ󣺴ÓÓû§¶ËÈ¡µÃÐÅÏ¢´«µÝ¸ø·þÎñÆ÷£¬ÊÇASP¶ÁÈ¡Óû§ÊäÈëµÄÖ÷Òª·½·¨¡£
4) Response¶ÔÏ󣺷þÎñÆ÷½«Êä³öÄÚÈÝ·¢Ë͵½Óû§¶Ë¡£
5) Server¶ÔÏó£ºÌṩ¶Ô·þÎñÆ÷Óйط½·¨ºÍÊôÐԵķÃÎÊ¡£
6) Object Context¶ÔÏó£ºIIS 4.0ÐÂÔöµÄ¶ÔÏó£¬ÓÃÀ´½øÐÐÊÂÎñ´¦Àí¡£´ËÏÄÜÐèµÃµ½MTS(Microsoft Transcation Server)¹ÜÀíµÄÖ§³Ö¡£
5. ASPµÄÖ÷ÒªÄÚÖÃ×é¼þ£º
1) Ad Rotator×é¼þ£ºÓÃÀ´°´Ö¸¶¨¼Æ»®ÔÚͬһҳÉÏ×Ô¶¯ÂÖ»»ÏÔʾ¹ã¸æ£¬ÓÃÓÚWWWÉÏÈÕÒæÖØÒªµÄ¹ã¸æ·þÎñ¡£
2) Browser Capabilities×é¼þ£ºÈ·¶¨·ÃÎÊWEBÕ¾µãµÄÓû§ä¯ÀÀÆ÷µÄ¹¦ÄÜÊý¾Ý£¬°üÀ¨ÀàÐÍ¡¢ÐÔÄÜ¡¢°æ±¾µÈ¡£
3) Database Access×é¼þ£ºÌṩADO (ActiveX Data Objects)À´·ÃÎÊÖ§³ÖODBCµÄÊý¾Ý¿â¡£
4) File Access×é¼þ£ºÌṩ¶Ô·þÎñÆ÷¶ËÎļþµÄ¶Áд¹¦ÄÜ¡£
5) Content Linking×é¼þ£ºÉú³ÉWEBÒ³ÄÚÈÝÁÐ±í£¬²¢½«¸÷ҳ˳ÐòÁ¬½Ó£¬ÓÃÓÚÖÆ×÷µ¼º½Ìõ¡£
´ËÍ⣬»¹¿É°²×°Myinfo¡¢Counters¡¢Content Rotator¡¢Page CountµÈ×é¼þ£¬Óû§Ò²¿É×ÔÐбàÖÆActiive×é¼þ£¬ÒÔÌá¸ßϵͳµÄʵÓÃÐÔ¡£
6. Database Access×é¼þADO
WWWÉϺÜÖØÒªµÄÓ¦ÓÃÊÇ·ÃÎÊWEBÊý¾Ý¿â£¬ÓÃASP·ÃÎÊWEBÊý¾Ý¿âʱ£¬±ØÐëʹÓÃADO×é¼þ£¬ADOÊÇASPÄÚÖõÄActiveX·þÎñÆ÷×é¼þ(ActiveX Server Component)£¬Í¨¹ýÔÚWEB·þÎñÆ÷ÉÏÉèÖÃODBCºÍOLEDB¿ÉÁ¬½Ó¶àÖÖÊý¾Ý¿â£ºÈçSYBASE¡¢ORACLE¡¢INFORMIX¡¢SQL SERVER¡¢ACCESS¡¢VFPµÈ£¬ÊǶÔĿǰ΢ÈíËùÖ§³ÖµÄÊý¾Ý¿â½øÐвÙ×÷µÄ×îÓÐЧºÍ×î¼òµ¥Ö±½ÓµÄ·½·¨¡£
ADO×é¼þÖ÷ÒªÌṩÁËÒÔÏÂÆß¸ö¶ÔÏóºÍËĸö¼¯ºÏÀ´·ÃÎÊÊý¾Ý¿â¡£
1) Connection¶ÔÏ󣺽¨Á¢Óëºǫ́Êý¾Ý¿âµÄÁ¬½Ó¡£
2) Command¶ÔÏó£ºÖ´ÐÐSQLÖ¸Á·ÃÎÊÊý¾Ý¿â¡£
3) Parameters¶ÔÏóºÍParameters¼¯ºÏ£ºÎªCommand¶ÔÏóÌṩÊý¾ÝºÍ²ÎÊý¡£
4) RecordSet¶ÔÏ󣺴æ·Å·ÃÎÊÊý¾Ý¿âºóµÄÊý¾ÝÐÅÏ¢£¬ÊÇ×î¾³£Ê¹ÓõĶÔÏó¡£
5) Field¶ÔÏóºÍField¼¯ºÏ£ºÌṩ¶ÔRecordSetÖе±Ç°¼Ç¼µÄ¸÷¸ö×ֶνøÐзÃÎʵŦÄÜ¡£
6) Property¶ÔÏóºÍProperties¼¯ºÏ£ºÌṩÓйØÐÅÏ¢£¬¹©Connection¡¢Command¡¢RecordSet¡¢Field¶ÔÏóʹÓá£
7) Error¶ÔÏóºÍErrors¼¯ºÏ£ºÌṩ·ÃÎÊÊý¾Ý¿âʱµÄ´íÎóÐÅÏ¢¡£
Èý. ASP·ÃÎÊÊý¾Ý¿â²½Öè
ÔÚASPÖУ¬Ê¹ÓÃADO×é¼þ·ÃÎʺǫ́Êý¾Ý¿â£¬¿Éͨ¹ýÒÔϲ½Öè½øÐУº
1. ¶¨ÒåÊý¾ÝÔ´
ÔÚWEB·þÎñÆ÷ÉÏ´ò¿ª¡°¿ØÖÆÃæ°å¡±£¬Ñ¡ÖС°ODBC¡±£¬ÔÚ¡°ÏµÍ³DSN¡±ÏÂÑ¡¡°Ìí¼Ó¡±£¬Ñ¡¶¨ÄãÏ£ÍûµÄÊý¾Ý¿âÖÖÀà¡¢Ãû³Æ¡¢Î»Öõȡ£±¾Î͍Òå¡°SQL SERVER¡±£¬Êý¾ÝԴΪ¡°HT¡±£¬Êý¾Ý¿âÃû³ÆÎª¡°HTDATA¡±£¬½Å±¾ÓïÑÔ²ÉÓÃJscript¡£
2£¬Ê¹ÓÃADO×é¼þ²éѯWEBÊý¾Ý¿â
1) µ÷ÓÃServer.CreateObject·½·¨È¡µÃ¡°ADODB.Connection¡±µÄʵÀý£¬ÔÙʹÓÃOpen·½·¨´ò¿ªÊý¾Ý¿â£º
conn = Server.CreateObject(¡°ADODB.Connection¡±)
conn.Open(¡°HT¡±)
2) Ö¸¶¨ÒªÖ´ÐеÄSQLÃüÁî
Á¬½ÓÊý¾Ý¿âºó£¬¿É¶ÔÊý¾Ý¿â²Ù×÷£¬Èç²éѯ£¬Ð޸ģ¬É¾³ýµÈ£¬ÕâЩ¶¼ÊÇͨ¹ýSQLÖ¸ÁîÀ´Íê³ÉµÄ£¬ÈçÒªÔÚÊý¾Ý±ísignaltabÖвéѯ´úÂëÖк¬ÓС°X¡±µÄ¼Ç¼
sqlStr = ¡°select * from signaltab where code like ¡®%X%¡¯¡±
rs = conn.Execute(sqlStr)
3) ʹÓÃRecordSetÊôÐԺͷ½·¨£¬²¢ÏÔʾ½á¹û
ΪÁ˸ü¾«È·µØ¸ú×ÙÊý¾Ý£¬ÒªÓÃRecordSet×é¼þ´´½¨°üº¬Êý¾ÝµÄÓα꣬Óαê¾ÍÊÇ´¢´æÔÚÄÚ´æÖеÄÊý¾Ý¡£
rs = Server.CreateObject(¡°ADODB.RecordSet¡±)
rs.Open(sqlStr,conn,1,A)
×¢£ºA=1¶ÁÈ¡
A=3 ÐÂÔö¡¢Ð޸ġ¢É¾³ý
ÔÚRecordSet×é¼þÖУ¬³£ÓõÄÊôÐԺͷ½·¨ÓУº
rs.Fields.Count£º RecordSet¶ÔÏóµÄ×Ö¶ÎÊý¡£
rs(i).Name£º µÚi¸ö×ֶεÄÃû³Æ£¬iΪ0ÖÁrs.Fields.Count-1
rs(i)£º µÚi¸ö×ֶεÄÊý¾Ý£¬iΪ0ÖÁrs.Fields.Count-1
rs("×Ö¶ÎÃû")£º Ö¸¶¨×ֶεÄÊý¾Ý¡£
rs.Record.Count£ºÓαêÖеÄÊý¾Ý¼Ç¼×ÜÊý¡£
rs.EOF£º ÊÇ·ñ×îºóÒ»Ìõ¼Ç¼¡£
rs.MoveFirst£º Ö¸ÏòµÚÒ»Ìõ¼Ç¼¡£
rs.MoveLast£º Ö¸Ïò×îºóÒ»Ìõ¼Ç¼¡£
rs.MovePrev£º Ö¸ÏòÉÏÒ»Ìõ¼Ç¼¡£
rs.MoveNext£º Ö¸ÏòÏÂÒ»Ìõ¼Ç¼¡£
rs.GetRows£º ½«Êý¾Ý·ÅÈëÊý×éÖС£
rs.Properties.Count£ºADOµÄResultSet»òConnectionµÄÊôÐÔ¸öÊý¡£
rs.Properties(item).Name£ºADOµÄResultSet»òConnectionµÄÃû³Æ¡£
rs.Properties£º ADOµÄResultSet»òConnectionµÄÖµ¡£
rs.close()£º ¹Ø±ÕÁ¬½Ó¡£
4) ¹Ø±ÕÊý¾Ý¿â
conn.close()
ËÄ.²éѯWEBÊý¾Ý¿â¾ÙÀý
ÏÂÃæÕâ¶ÎʾÀý³ÌÐòÊÇ·ÃÎÊSQL SERVERÊý¾Ý¿âµÄ signaltab±í£¬±íÖÐÓÐÈý¸ö×ֶΣºcode(´úÂë×ֶΣ¬×Ö·ûÐÍ£¬3λ)£¬class(·ÖÀà×ֶΣ¬×Ö·ûÐÍ£¬10λ)£¬memo(±¸×¢×ֶΣ¬×Ö·ûÐÍ£¬20λ)¡£³ÌÐòÖÐÊý¾ÝÔ´DSN£ºHT¡¢Óû§Ãû£ºclient¡¢¿ÚÁpasswd¡£
ÆÁÄ»ÊäÈëÒ³Ãæinput.asp
<% @ language=javascript %>
<html>
<head>
<title>ÇëÊäÈë²éѯÌõ¼þPLEASE INPUT CONDITION</title>
</head>
<form action=shotquery.asp METHOD="post" target="_self">
<input TYPE="text" size=6 maxlength=3 NAME=signalCode VALUE="´úÂë"> </font></p>
</center></div><p></p>
<input LANGUAGE="JavaScript" TYPE="submit" VALUE=¡°È·ÈÏ¡± NAME="B1"
<input TYPE="reset" VALUE=¡°Çå³ý¡±NAME="B2">
<input LANGUAGE="JavaScript" TYPE="button" NAME="B3" VALUE=¡°·µ»Ø¡±
ONCLICK="window.history.back()">
</font></p>
</center></div>
</form>
</body>
</html>
Êý¾Ý¿â´¦Àí³ÌÐòshotquery.asp
<!--#include virtual="/master/lib.inc"-->
<script language=javascript runat=server>
var signalCode=Request.Form("signalCode");
dbConn = Server.CreateObject("ADODB.Connection");
dbConn.open("DSN=HT;UID=client;PWD=passwd");
rs = Server.CreateObject("ADODB.RecordSet");
var sqlStr = "select * from signaltab order by code";
rs.open(sqlStr,dbConn,1);
if(rs.RecordCount < 1) {
Response.write("<p> ÎÞ·ûºÏÌõ¼þ¼Ç¼</p>");
Response.write("<p><form> <input type='button' value=' ·µ»Ø' onclick='window.history.back()' name='b1'></form></p>");
}
else {
Response.write("<P><center><B>Êý¾Ý²éѯ½á¹û</B></center></P>");
Response.write("<tr><td><b>´úÂë</b></td><td><b>·ÖÀà</b></td><td><b>±¸×¢</b></td>");
for(var i = 1;i <= rs.Pagesize;i++) {
if(!rs.Eof) {
Response.write("<td><span style='font-size:9t'>"+rs("code")+"</span></td>");
Response.write("<td><span style='font-size:9t'>"+rs("class")+"</span></td>");
Response.write("<td><span style='font-size:9t'>"+rs("memo")+"</span></td>");
Response.write("</tr>");
rs.MoveNext();
}
else break;
}
Response.write("</table></form>");
rs.close();
dbConn.close();
}
</script>
