版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网站开发数字艺术设计系李晓平网站开发数字艺术设计系1第1章ASP基础一、Web基础(1)、Web概述Web是一种基于超级链接技术的分布式超媒体系统,是对超文本系统的扩充。信息的表示和传送一般使用HTML格式,利用这种格式描述的信息可以为用户提供一个易于使用的包含超媒体信息的图形化界面。第1章ASP基础一、Web基础2(2)、静态网页:是指在网页文件里不存在程序代码,只有HTML标记,其文件后缀为htm、html。缺少交互性(3)、动态网页:是指在网页文件中不仅包括HTML标记,同时还包含实现相关功能的程序代码,该网页的后缀通常根据语言不同而不同。(2)、静态网页:是指在网页文件里不存在程序代码,只有HTM3(4)、交互式动态网页实现技术简介1、CGI:是外部程序和Web服务器之间的标准编程接口。用Html是无法把信息记录到某一个特定文件里的。要把客户端的信息记录在服务器的硬盘上,就要用到CGI。这是CGI最重要的作用,它补充了Html的不足。2、ASP:活动服务器网页,易开发和修改、功能强大,是动态网页开发技术中最为流行的技术之一。3、PHP:超文本预处理器,是一种HTML内嵌式的语言(类似于ASP)。
(4)、交互式动态网页实现技术简介44、JSP(Java服务器页面):是Sun公司推出的网站开发技术,是将纯Java代码嵌入HTML中实现动态功能的一项技术。与ASP并驾其驱不同点在于它使用JavaScript脚本程序。5、ASP.NET:使用VB.NET及C#作为其开发语言,比ASP执行效率更高。4、JSP(Java服务器页面):是Sun公司推出的网站开发5三、ASP概述(1)、ASP(activeserverpage):活动服务器页面,是微软公司开发的服务器端的脚本编写环境,可以用它来创建动态WEB页或生成功能强大的WEB应用程序。(2)、建立ASP程序(.asp)(3)、IIS的安装与配置三、ASP概述(1)、ASP(activeserverp6四、ASP的语法编写规则(1)、ASP的文件结构1、文本2、HTML标记3、脚本命令:如VBScript4、ASP代码:位于<%%>之间的命令四、ASP的语法编写规则(1)、ASP的文件结构7四、ASP的语法编写规则(2)、ASP指令1、输出指令:<%=内容%>2、ASP处理vb指令<%@>:为ASP提供处理.asp文件所需的信息,必须出现在第一行如<%@language=VBScript>。3、ASP包含指令#include:使用时必须命使用注释定界符<!--和-->将命令包含起来,如果包含的文件存在于父文件所在文件夹或其子文件夹中,就要使用file参数指定相对路径。四、ASP的语法编写规则(2)、ASP指令8四、ASP的语法编写规则(3)、ASP语句的书写形式1、不区分大小写2、一条ASP语句就是一行,不能将多条ASP语句写在一行里,也不能将一条ASP语句写在多行里。如<%a=2b=3%>及<%a=2%>都是错误的。四、ASP的语法编写规则(3)、ASP语句的书写形式9四、ASP的语法编写规则3、语句太长时,可以自动换行或在换行处加上_(下划线)。4、在ASP中<%和%>的位置可以和ASP语句放在一行,也可以单独成为一行。如<%str=”软件开发”%><%str=”软件开发”%><%Str=”软件开发”%>5、养成良好的书写习惯,运用恰当的缩进以增强可读性。四、ASP的语法编写规则3、语句太长时,可以自动换行或在换行10ASP内置对象Request对象Response对象Server对象Session对象Application对象ObjectContext对象这六个ASP内置对象都是在Web服务器端运行的,应该放在服务器脚本中ASP内置对象Request对象11Response对象Response对象是ASP中一个重要的内置对象,用于向客户端浏览器输出指定的信息,使用response对象可以实现动态创建Web页面,重定向客户端请求以及向客户端写入Cookie等功能。一、Response对象的属性1、buffer:表明页面的输出是否被缓冲。可以加快客户端的访问速度,如论坛网站2、Expires属性:设置Web页面保留在客户端浏览器缓冲区的时间长度。将此参数设置为0可使缓存的页立即过期。Response.expires=分钟数Response对象Response对象是ASP中一个重要123、ExpiesAbsolute:明确指定缓存于浏览器中Web页面的到期日期和时间,在指定的日期和时间未到期之前返回该页面时,就显示缓存的内容。防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。为安全考虑。Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"3、ExpiesAbsolute:明确指定缓存于浏览器中We13response常用方法一、write方法格式:response.writevariantVariant:包括任何数据类型的数据及变量的值\html标记注意:write方法在输出数据时将所有数据都作为字符型数据处理如果同时输出不同类型的数据,需要在数据间使用字符串连接运算符&例:response.write5&”是一个整数&”<br>”response.write“现在是:”¤th&”点”¤tm&”分”response常用方法一、write方法14(2)直接向客户端浏览器输出html标记时,浏览器就会解释该html标记,并按格式显示给用户例p884-3(3)当<%%>之间只有一行response.write语句时可以用<%=%>代替(4)在页面中输出%>或’’时要用转义字符%\>及””””例:response.write""""&"欢迎访问!%\>"&""""%>(2)直接向客户端浏览器输出html标记时,浏览器就会解释该15二、redirect方法用于重定向到另一个网页上三、end方法使web服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理如果response.buffer已设置为true,则调用response.end将输出缓冲中的内容。二、redirect方法16四、flush方法可以立即发送缓冲区中的数据。如果未将buffer设置为true则会导致运行时错误。五、clear方法删除缓冲区中所有html输出。四、flush方法17Request对象用于获取客户端提交的全部信息。一、检索表单数据格式:request.form(表单名称)(index)|.count说明:表单名称即为控件名称index为索引值,用来取得表单中相同名称的元素值。count集合中相同名称元素的个数表单传送方式分为post和get两种Request对象用于获取客户端提交的全部信息。18二、检索查询字符串利用querystring环境变量可以检索http查询字符串中变量的值。即url地址中的?字符之后的内容,传递多个参数时,用&作为参数间的人隔符例:<ahref=a.asp?name=wang&age=26>语法:request.querystring(变量名)(index)|[.count]有两种情况用querystring取得数据1、表单中通过get方式提交的数据2、超级链接传递的参数二、检索查询字符串19Request.servervariables(“REMOTE_ADDR”)获取远端主机的IP地址。Request.totalbytes:从客户端接收到的字节数例:response.writereuest.totalbytesRequest.servervariables(“REMOT20(1)怎样向浏览器输出信息”你好”?(2)怎样重定向到另一个网页?(3)结束脚本的执行用?(4)打开缓冲区的目的?具体方法是?(5)Response.flush及response.clear的含义?(6)以下代码的含义是?为什么这样做?Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"回顾上节内容(1)怎样向浏览器输出信息”你好”?回顾上节内容21cookiesCookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。分为临时cookies和久cookiescookiesCookies是一种能够让网站服务器把少量数据22Cookies的写入与读出应用response对象的cookies数据集合写入cookie文件语法:response.cookies(cookiesname)[(key)][.attribute]=value注意:response.cookies必须在所有html元素的前面如果想用在文件的任意地方,必须在文件开头加上response.buffer=trueCookies的写入与读出应用response对象的cook23Cookies的属性:Response.cookies(”cookiesname”).expires=j日期指定cookies的到期时间Haskeys:是否为cookies字典Cookies的属性:24session对象使用session对象可以存储用户个人会话所需的信息。当用户在web站点中对不同页面进行切换时,存储在session对象中的变量不会被清除。使用session对象变量可以实现用户信息在多个web页面间共享,还可以用来跟踪浏览者的访问路径。session对象使用session对象可以存储用户个人会话25语法:Session.contents(“名称”)=值或session(“变量名称”)=值例:Session.contents(“user”)=usernameSession.contents(“pass”)=passsession(“user”)=usernameSession(“pass”)=pass语法:26可以利用循环或foreach语句实现遍历每一个session值例Foreachainsession.contentsResponse.writesession(a)next可以利用循环或foreach语句实现遍历每一个sessio27Session对象的方法Abandon:该方法将删除所有存储在session中的对象和变量,并释放它们所占有的资源。如果没有明确调用abandon方法,服务器在session对象的timeout属性规定的时间后执行删除操作。abandon方法被调用时,将按序删除当前的Session对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。这就是说,在调用Abandon时,可以在当前页上访问存储在Session对象中的变量,但在随后的Web页上不行。Session对象的方法Abandon:该方法将删除所有存28Session的属性Timeout属性:设置session的到期时间,写在设置session变量的位置Sessionid属性:创建session对象时生成的唯一标识,是一个长整型数。Session的属性Timeout属性:设置session的29Session对象的事件Session_onstart事件:在创建一个新会话时发生Session_onend事件:对象结束时发生的事件。通常用于设置一些清理系统对象或变量的值,只有application\server\session对象可以出现在session_onend事件代码中Session对象的事件Session_onstart事件:30Application对象Application对象31Global.asa是一个可选文件,可以在该文件中指定session和application对象的事件脚本。Global.asa文件在以下几种情况下被调用application_onstartonendSession_onstartonend一经创建则网站中所有页包括子文件夹里的页都起作用Global.asa是一个可选文件,可以在该文件中指定ses32Global.asa文件的结构<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
SubApplication_OnStart
'Application_OnStart当任何客户首次访问该应用程序的首页时运行
EndSub
SubSession_OnStart
'Session_OnStart当客户首次运行ASP应用程序中的任何一个页面时运行
EndSub
SubSession_OnEnd
'Session_OnEnd当一个客户的会话超时或退出应用程序时运行
EndSub
SubApplication_OnEnd
'Application_OnEnd当该站点的WEB服务器关闭时运行
EndSub
</SCRIPT>Global.asa文件的结构33Application主要被用于统计网站访问的人数统计广告点击的次数创建聊天室读取数据库中的数据等Application主要被用于统计网站访问的人数34Session主要用于存储用户的首选项保存用户的身份标记,实现用户的身份认证和用户权限管理等Session主要用于存储用户的首选项35Server对象为网站提供服务的。一、scripttimeout属性:设置脚本执行时间,默认90秒见例p108-4-13二、CreatObject方法格式:set实例名=server.creatobject(“组件名”)如:setrs=server.creatobject(“adodb.recordset”)清除对象实例:Rs=nothing(不使用则自动清除)Server对象为网站提供服务的。362、mappath方法:将指定的虚拟路径(字符串)转换为物理路径。语法:物理路径=server.mappath(“path”)Server.mappath(“/test.asp”):当前站点下Server.mappath(“../test.asp”):上一级Server.mappath(“./”):当前目录3、HTMLEncode方法;是对指定的字符串应用html编码语法:server.htmlencode(string)2、mappath方法:将指定的虚拟路径(字符串)转换为物理37Server.urlencode:将发送到服务器的汉字及其它字符进行编码传送即加密传送Server.execute调用另一个asp文件,再继续执行其他代码Server.transferServer.urlencode:38ASP组件调用内置组件有两个步骤:1、创建组件一个实例(声明一个对象)2、调用该组件的方法和属性例:Set对象名=server.createobject(“组件名”)Setfa=server.createobject(“mswc.adrotator”)Fa.getadvertisement()ASP组件调用内置组件有两个步骤:39AdRotator组件(广告轮显)声明一个实例:Setfa=server.createobject(“mswc.adrotator”)属性:Border:指定广告图片四周的边框Clickable:指定是否将广告作为超链接显示。默认trueAdRotator组件(广告轮显)声明一个实例:40二、相关文件1、循环定时文件格式:redirecturlWidthheightBorder*AdurlAdhomepageurlTextImpressions‘切换时间比例二、相关文件412、重定向文件当用户单击广告图像时,会重定向该文件,在重定向文件中使用request.querystring(”url”)来取得与被单击图像相关的url3、应用程序文件即设置实例及显示图像图像的文件2、重定向文件42ContentLinking组件应用:电子书语法:set对象名=server.createobject(“mswc.nextlink”)相关文件1、内容链接文件是一个文本文件,语法文件名 描述文字‘注意文件名与描述之字之间要用tab分开ContentLinking组件应用:电子书432、建立链接文件3、分页文件属性:Getlistcount(listurl):统计内容链接列表中项目数Getnexturl(“listurl”):下一页urlGetnextdescription(listurl):下一页的描述文件说明Getpreviousurl(listurl):上一页的urlGetpreviousdescription(listurl):上一页的描述文件说明2、建立链接文件44Getlistindex(listurl):当前页的索引Getnthdescription(listurl,i):第i页的文字说明Getnthurl(listurl,i):第i页的urlGetlistindex(listurl):当前页的索引45Fileaccess组件利用fileaccess组件能够实现对服务文件系统的操作主要对象FilesystemobjectTextstreamFileFolderdrivesFileaccess组件利用fileaccess组件能够实46文件及文件夹处理1、filesystemobject对象语法:Setfs=server.createobject(“scripting.filesystemobject”)或Setfs=server.createobject(“scripting.filesystemobject”)Setfo=fs.getdrive(“驱动名”)文件及文件夹处理1、filesystemobject对象47属性方法:2、复制、移动、删除文件Fs.createfolder(“folder”):建立文件夹Fs.createtextfile(“.txt”)建立文本文件Fs.copyfile(folder)“源文件”,“目标文件”Fs.movefile(folder)“源文件”,“目标文件”同一驱动器Fs.deletefile(folder)文件注意:给定用户权限属性方法:48判断访问的指定的文件是否存在Fs.fileexists(路径)判断访问的指定的文件夹是否存在Fs.folderexists(路径)以上直接用fso对象即可s获取指定文件的大小Fs.size获取指定文件的创建日期和时间Fs.datecreated以上两个方法必须使用file对象本身判断访问的指定的文件是否存在49drive组件Drive对象的属性:
driveletter:返回当前驱动器字母号ACPath:当前的驱动器符号A:C:Rootfolder:根文件夹表示A:\C:\Drivetype:驱动器类型如光盘,硬盘FileSystem:驱动器分驱类型IsReady:驱动器是否已准备好,准备好为TrueTotalsize:总空间AvailableSpace(Free):可用空间Sharename:共享名drive组件Drive对象的属性:
driveletter50文本文件的读写(textstream对象)需要使用textstream对象此对只能通过Setfile=Fs.gettextfile(“文件”)方法获得属性、方法:p148文本文件的读写(textstream对象)需要使用texts51Aspupload组件第三方组件下载安装使用Setupload=server.createobject(“persits.upload.1”)可以上传文件还以上传一些表单元素值,作为上传文件附以说明文字属性:Setmaxsize:设置上传文件的最大字节数Overwritefiles:设置能否覆盖文件true覆盖Aspupload组件第三方组件下载安装52方法:Save:将文件上传,并保存在某路径Files:获取上传的文件的对象Form:获取上传的表单元素的对象文件对象的属性:Path:上传后文件所在的路径Size:上传后文件的大小,单位为字节Name:上传的文件在表单中的名字上传的表单对象的属性name:上传的表单元素的名字Size:上传的表单元素的值方法:53ADO对象概述Asp访问数据库的方法1、ODBC(开放式数据库连接):ODBC是由mircrosoft提出的用于访问数据库的统一接口,目前已被业界公认为一种访问数据的标准。ODBC是基于SQL语言的它将所有对数据库的底层操作全部隐藏在其驱动程序内核中,向访问网络数据库的应用程序提供了一种通用的语言,只要系统中相应的odbc驱动程序,任何程序都可以通odbc驱动程序操纵对应的数据库。它可以访问sqlaccess数据库。2、OLEDB(对象链接和嵌入数据库):是一种为适应数据库技术迅速发展而开发的新一代数据访问编程接口。Oledb比odbc使用更简单,效率高ADO对象概述Asp访问数据库的方法54ADO:是ASP中最重要内置组件之一,对数据库的访问就是通过ADO来完成的。见p-170图7-1ADO:是ASP中最重要内置组件之一,对数据库的访问就是通过55ADO中的对象和数据集合ADO中的对象和数据集合Connection:连接对象,用于创建ASP程序和数据源之间的连接创建connection对象:Setconn=server.createobject(“adodb.connection”)Open方法:(1)、设置过的数据源(2)、没设置过的数据源ADO中的对象和数据集合ADO中的对象和数据集合56Connection对象通过ODBC连接ACCESS数据库语法:(1)、设置数据源Setconn.servercreatobject(“adodb.connection”)Setconn.open“dsn=数据源;uid=;pwd=;”(2)、没设置数据源Setconn.open”driver={mircrosoftaccessdriver(*.mdb)};dbq=”&server.mappth(“\”)&“\数据库名;uid=;pwd=;”Connection对象通过ODBC连接ACCESS数据库语57通过OLEDB连接Access数据库Conn.open“provider=microsoft.jet.OLEDB.4.0;Datasource=“&server.mappth(“\”)&“\数据库名”Execute方法:能够执行指定的查询、SQL语句等操作以两种格式:对于没有返回结果的命令格式Conn.executesql,recordesaffected,options通过OLEDB连接Access数据库58说明:Sql:包含要执行的SQL语句、存储过程RecordsAffeted:变量,表示执行指定的操作所影响的记录数目。只有当执行insert,update,delete时只参数有效。Option参数:有利于提高程序执行效率。告诉系统这是一个什么类型的字符串。具体参数见p-179表7-7Adovbs.inc:option参数取值为常量时则需包含此文件。说明:59使用OLEDB连接access数据库<%dpath=server.mappath("user.mdb")setconn=server.createobject("adodb.connection")conn.open"provider=microsoft.jet.oledb.4.0;datasource="&dpath%>使用OLEDB连接access数据库60Connection对象的属性Connectionstring:连接字符串Connectiontimeout:默认15秒如果想让执行时没有时间限制,则将其值设置为0Commandtimeout:默认30秒,如果想让执行Execute方法时没有时间限制,则只需将其值设置为0Provider:设置connection对象的提供者Mode:设置访问权限Connection对象的属性Connectionstrin61State:取得connection对象的状态,0关闭1打开State:取得connection对象的状态,0关闭1打开62<%setconn=server.createobject("adodb.connection")conn.mode=2conn.connectionstring="provider=microsoft.jet.oledb.4.0;datasource="&server.MapPath("\")&"\data\user.mdb"conn.opensql="deletefrom[user]wherenamelike'张%'andsex='男'"setrs=conn.execute(sql)response.writers.state&conn.statesetrs=server.CreateObject("adodb.recordset")sql="select*from[user]"rs.opensql,conn,1,3setrs=conn.execute(sql)dowhilenotrs.eofresponse.writers("name")rs.movenextloopconn.closeresponse.writeconn.statesetconn=nothing%><%63Command对象使用Command对象的步骤:当在ASP页面中使用Command对象处理数据时,应首先设置命令类型、命令文本以及相关的活动数据库连接等,并通过Parameter对象传递命令参数,然后通过调用Execute方法来执行SQL语句或调用存储过程,以完成数据库记录的检索、添加、更改和删除任务。其步骤如下:1、使用ActiveConnection属性设置相关的数据库连接;2、使用CommandType属性设置命令类型;3、使用CommandText属性定义命令(例如SQL语句)的可执行文本;4、使用CommandTimeout属性设置命令超时时间;5、使用Execute方法执行命令。Command对象使用Command对象的步骤:64三、Command对象的方法----Execute该方法执行在CommandText属性中指定的查询。语法格式分为以下两种形式。1、有返回值Setrecordset=command.Execute(RecordsAffected,Parameters,Options)2、无返回值:command.ExecuteRecordsAffected,Parameters,Options三、Command对象的方法----Execute65Parameters数据集合如果要利用传参数的方法,则按以下步骤1、建立一个parameter对象Setname=comm.createparameters(名字,字段类型,parameter对象的类型,大小,值)例:Setname=comm.createparameters(“name”,advarchar,1,20,”张三”)或name.value=“张三”Parameters数据集合如果要利用传参数的方法,则按以下662、将此参数加入到parameters集合中Comm.parameters.appendparameters对象名3、comm.execute注意:使用parameters对象时,要将adovbs.inc文件包含进来2、将此参数加入到parameters集合中67cmd.CommandText=“INSERTINTO员工基本情况表(员工姓名,所在部门,家庭住址,家庭电话,Email)values(?,?,?,?,?)”
‘创建五个Parameter对象
setPrmName=cmd.CreateParameter(“员工姓名”,adVarChar,adParamInput,10)
setPrmDepartment=cmd.CreateParameter(“所在部门”,adVarChar,adParamInput,10)
setPrmAddr=cmd.CreateParameter(“家庭住址”,adVarChar,adParamInput,12)
setPrmTel=cmd.CreateParameter(“家庭电话”,adVarChar,adParamInput,15)
setPrmEmail=cmd.CreateParameter(“Email”,adVarChar,adParamInput,20)
’将parameter对象添加到Parameters集合中。cmd.CommandText=“INSERTINTO员68使用表单值设置参数值
PrmName.Value=Request.Form("txtName")
PrmDepartment.Value=Request.Form("txtDepartment")
PrmAddr.Value=Request.Form("txtAddr")
PrmTel.Value=Request.Form("txtTel")
PrmEmail.Value=Request.Form("txtEmail")
cmd.Parameters.AppendprmName
cmd.Parameters.AppendprmDepartment
Cmd.Parameters.AppendprmAddr
Cmd.Parameters.AppendprmTel
Cmd.Parameters.AppendprmEmail
''执行INSERT插入命令
cmd.Execute
使用表单值设置参数值
PrmName.Value=Reque69例:用command对象完成注册页面,将注册页面的信息存入数据库中。例:用command对象完成注册页面,将注册页面的信息存入数70Command对象的应用实例
1、这是一个简单的员工基本情况管理系统,其功能有:1)、添加员工资料;2)、更改员工资料;3)、删除员工资料,检索员工资料。它包含着七个页面和一个数据库。分别为:1)、主页面:index.asp2)、添加数据页面:add.htm3)、保存添加数据页面:add.asp4)、更改数据页面:Update.asp5)、保存更改数据页面:Update1.asp6)、删除记录页面:Detele.asp7)、检索员工资料页面:shousho.asp8)、数据库:RSGL.mdb.用到该数据库中的”员工基本情况表“。2、各页面的代码如下:1)、主页面:index.asp。该页面的功能有:a、创建两个对象,Connectiion对象和Recordset对象,其目的是连接数据库和返回一个记录集;b、创建一个表格,使dowhile循环语句将各条记录在表格中显示出来;c、创建三个超连接,一个用以连接添加数据页面,另一个通过指定的员工姓名连接到更改数据页面,还有一个通过指定的员工姓名连接到删除页面。Command对象的应用实例
1、这是一个简单的员工71Recordset对象在ASP中可通过connection对象来连接数据库,用command对象操作数据库,用recordset对象来存储数据库,同时可以通过游标操作数据库。一、属性:1、activconnection属性:Rs.activeconnection=conn对象或连接字符串2、source属性:设置或返回记录集中的数据源,即表名Recordset对象在ASP中可通过connection对723、Cursortype属性:游标类型P196-见表7-194、Locktype属性:锁的类型。P197-见表7-205、recordcount:返回记录的数目。6、BOF、EOF:文件头,文件尾可以通过此属性,验证用户是否存在7、pagesize:设置每一页显示多少条记录pagecount:记录集的页数absolutepage:记录集指针处于第几页3、Cursortype属性:游标类型73Recordset对象的方法:AddnewDeleteMovefirstMovelastMovenextMovepreviousOpenRecordset对象的方法:748、sort属性:对记录集排序Rs.sort=“字段名desc|asc”二、recordset对象数据集合Item方法:语法格式为:Rs(“字段”)rs(0)Rs.fields(“字段”)Rs.fields.item(“字段”)Rs.fields.item(0)8、sort属性:对记录集排序75网站开发经典教程76网站开发经典教程77网站开发经典教程78网站开发经典教程79网站开发数字艺术设计系李晓平网站开发数字艺术设计系80第1章ASP基础一、Web基础(1)、Web概述Web是一种基于超级链接技术的分布式超媒体系统,是对超文本系统的扩充。信息的表示和传送一般使用HTML格式,利用这种格式描述的信息可以为用户提供一个易于使用的包含超媒体信息的图形化界面。第1章ASP基础一、Web基础81(2)、静态网页:是指在网页文件里不存在程序代码,只有HTML标记,其文件后缀为htm、html。缺少交互性(3)、动态网页:是指在网页文件中不仅包括HTML标记,同时还包含实现相关功能的程序代码,该网页的后缀通常根据语言不同而不同。(2)、静态网页:是指在网页文件里不存在程序代码,只有HTM82(4)、交互式动态网页实现技术简介1、CGI:是外部程序和Web服务器之间的标准编程接口。用Html是无法把信息记录到某一个特定文件里的。要把客户端的信息记录在服务器的硬盘上,就要用到CGI。这是CGI最重要的作用,它补充了Html的不足。2、ASP:活动服务器网页,易开发和修改、功能强大,是动态网页开发技术中最为流行的技术之一。3、PHP:超文本预处理器,是一种HTML内嵌式的语言(类似于ASP)。
(4)、交互式动态网页实现技术简介834、JSP(Java服务器页面):是Sun公司推出的网站开发技术,是将纯Java代码嵌入HTML中实现动态功能的一项技术。与ASP并驾其驱不同点在于它使用JavaScript脚本程序。5、ASP.NET:使用VB.NET及C#作为其开发语言,比ASP执行效率更高。4、JSP(Java服务器页面):是Sun公司推出的网站开发84三、ASP概述(1)、ASP(activeserverpage):活动服务器页面,是微软公司开发的服务器端的脚本编写环境,可以用它来创建动态WEB页或生成功能强大的WEB应用程序。(2)、建立ASP程序(.asp)(3)、IIS的安装与配置三、ASP概述(1)、ASP(activeserverp85四、ASP的语法编写规则(1)、ASP的文件结构1、文本2、HTML标记3、脚本命令:如VBScript4、ASP代码:位于<%%>之间的命令四、ASP的语法编写规则(1)、ASP的文件结构86四、ASP的语法编写规则(2)、ASP指令1、输出指令:<%=内容%>2、ASP处理vb指令<%@>:为ASP提供处理.asp文件所需的信息,必须出现在第一行如<%@language=VBScript>。3、ASP包含指令#include:使用时必须命使用注释定界符<!--和-->将命令包含起来,如果包含的文件存在于父文件所在文件夹或其子文件夹中,就要使用file参数指定相对路径。四、ASP的语法编写规则(2)、ASP指令87四、ASP的语法编写规则(3)、ASP语句的书写形式1、不区分大小写2、一条ASP语句就是一行,不能将多条ASP语句写在一行里,也不能将一条ASP语句写在多行里。如<%a=2b=3%>及<%a=2%>都是错误的。四、ASP的语法编写规则(3)、ASP语句的书写形式88四、ASP的语法编写规则3、语句太长时,可以自动换行或在换行处加上_(下划线)。4、在ASP中<%和%>的位置可以和ASP语句放在一行,也可以单独成为一行。如<%str=”软件开发”%><%str=”软件开发”%><%Str=”软件开发”%>5、养成良好的书写习惯,运用恰当的缩进以增强可读性。四、ASP的语法编写规则3、语句太长时,可以自动换行或在换行89ASP内置对象Request对象Response对象Server对象Session对象Application对象ObjectContext对象这六个ASP内置对象都是在Web服务器端运行的,应该放在服务器脚本中ASP内置对象Request对象90Response对象Response对象是ASP中一个重要的内置对象,用于向客户端浏览器输出指定的信息,使用response对象可以实现动态创建Web页面,重定向客户端请求以及向客户端写入Cookie等功能。一、Response对象的属性1、buffer:表明页面的输出是否被缓冲。可以加快客户端的访问速度,如论坛网站2、Expires属性:设置Web页面保留在客户端浏览器缓冲区的时间长度。将此参数设置为0可使缓存的页立即过期。Response.expires=分钟数Response对象Response对象是ASP中一个重要913、ExpiesAbsolute:明确指定缓存于浏览器中Web页面的到期日期和时间,在指定的日期和时间未到期之前返回该页面时,就显示缓存的内容。防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。为安全考虑。Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"3、ExpiesAbsolute:明确指定缓存于浏览器中We92response常用方法一、write方法格式:response.writevariantVariant:包括任何数据类型的数据及变量的值\html标记注意:write方法在输出数据时将所有数据都作为字符型数据处理如果同时输出不同类型的数据,需要在数据间使用字符串连接运算符&例:response.write5&”是一个整数&”<br>”response.write“现在是:”¤th&”点”¤tm&”分”response常用方法一、write方法93(2)直接向客户端浏览器输出html标记时,浏览器就会解释该html标记,并按格式显示给用户例p884-3(3)当<%%>之间只有一行response.write语句时可以用<%=%>代替(4)在页面中输出%>或’’时要用转义字符%\>及””””例:response.write""""&"欢迎访问!%\>"&""""%>(2)直接向客户端浏览器输出html标记时,浏览器就会解释该94二、redirect方法用于重定向到另一个网页上三、end方法使web服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理如果response.buffer已设置为true,则调用response.end将输出缓冲中的内容。二、redirect方法95四、flush方法可以立即发送缓冲区中的数据。如果未将buffer设置为true则会导致运行时错误。五、clear方法删除缓冲区中所有html输出。四、flush方法96Request对象用于获取客户端提交的全部信息。一、检索表单数据格式:request.form(表单名称)(index)|.count说明:表单名称即为控件名称index为索引值,用来取得表单中相同名称的元素值。count集合中相同名称元素的个数表单传送方式分为post和get两种Request对象用于获取客户端提交的全部信息。97二、检索查询字符串利用querystring环境变量可以检索http查询字符串中变量的值。即url地址中的?字符之后的内容,传递多个参数时,用&作为参数间的人隔符例:<ahref=a.asp?name=wang&age=26>语法:request.querystring(变量名)(index)|[.count]有两种情况用querystring取得数据1、表单中通过get方式提交的数据2、超级链接传递的参数二、检索查询字符串98Request.servervariables(“REMOTE_ADDR”)获取远端主机的IP地址。Request.totalbytes:从客户端接收到的字节数例:response.writereuest.totalbytesRequest.servervariables(“REMOT99(1)怎样向浏览器输出信息”你好”?(2)怎样重定向到另一个网页?(3)结束脚本的执行用?(4)打开缓冲区的目的?具体方法是?(5)Response.flush及response.clear的含义?(6)以下代码的含义是?为什么这样做?Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"回顾上节内容(1)怎样向浏览器输出信息”你好”?回顾上节内容100cookiesCookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。分为临时cookies和久cookiescookiesCookies是一种能够让网站服务器把少量数据101Cookies的写入与读出应用response对象的cookies数据集合写入cookie文件语法:response.cookies(cookiesname)[(key)][.attribute]=value注意:response.cookies必须在所有html元素的前面如果想用在文件的任意地方,必须在文件开头加上response.buffer=trueCookies的写入与读出应用response对象的cook102Cookies的属性:Response.cookies(”cookiesname”).expires=j日期指定cookies的到期时间Haskeys:是否为cookies字典Cookies的属性:103session对象使用session对象可以存储用户个人会话所需的信息。当用户在web站点中对不同页面进行切换时,存储在session对象中的变量不会被清除。使用session对象变量可以实现用户信息在多个web页面间共享,还可以用来跟踪浏览者的访问路径。session对象使用session对象可以存储用户个人会话104语法:Session.contents(“名称”)=值或session(“变量名称”)=值例:Session.contents(“user”)=usernameSession.contents(“pass”)=passsession(“user”)=usernameSession(“pass”)=pass语法:105可以利用循环或foreach语句实现遍历每一个session值例Foreachainsession.contentsResponse.writesession(a)next可以利用循环或foreach语句实现遍历每一个sessio106Session对象的方法Abandon:该方法将删除所有存储在session中的对象和变量,并释放它们所占有的资源。如果没有明确调用abandon方法,服务器在session对象的timeout属性规定的时间后执行删除操作。abandon方法被调用时,将按序删除当前的Session对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。这就是说,在调用Abandon时,可以在当前页上访问存储在Session对象中的变量,但在随后的Web页上不行。Session对象的方法Abandon:该方法将删除所有存107Session的属性Timeout属性:设置session的到期时间,写在设置session变量的位置Sessionid属性:创建session对象时生成的唯一标识,是一个长整型数。Session的属性Timeout属性:设置session的108Session对象的事件Session_onstart事件:在创建一个新会话时发生Session_onend事件:对象结束时发生的事件。通常用于设置一些清理系统对象或变量的值,只有application\server\session对象可以出现在session_onend事件代码中Session对象的事件Session_onstart事件:109Application对象Application对象110Global.asa是一个可选文件,可以在该文件中指定session和application对象的事件脚本。Global.asa文件在以下几种情况下被调用application_onstartonendSession_onstartonend一经创建则网站中所有页包括子文件夹里的页都起作用Global.asa是一个可选文件,可以在该文件中指定ses111Global.asa文件的结构<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
SubApplication_OnStart
'Application_OnStart当任何客户首次访问该应用程序的首页时运行
EndSub
SubSession_OnStart
'Session_OnStart当客户首次运行ASP应用程序中的任何一个页面时运行
EndSub
SubSession_OnEnd
'Session_OnEnd当一个客户的会话超时或退出应用程序时运行
EndSub
SubApplication_OnEnd
'Application_OnEnd当该站点的WEB服务器关闭时运行
EndSub
</SCRIPT>Global.asa文件的结构112Application主要被用于统计网站访问的人数统计广告点击的次数创建聊天室读取数据库中的数据等Application主要被用于统计网站访问的人数113Session主要用于存储用户的首选项保存用户的身份标记,实现用户的身份认证和用户权限管理等Session主要用于存储用户的首选项114Server对象为网站提供服务的。一、scripttimeout属性:设置脚本执行时间,默认90秒见例p108-4-13二、CreatObject方法格式:set实例名=server.creatobject(“组件名”)如:setrs=server.creatobject(“adodb.recordset”)清除对象实例:Rs=nothing(不使用则自动清除)Server对象为网站提供服务的。1152、mappath方法:将指定的虚拟路径(字符串)转换为物理路径。语法:物理路径=server.mappath(“path”)Server.mappath(“/test.asp”):当前站点下Server.mappath(“../test.asp”):上一级Server.mappath(“./”):当前目录3、HTMLEncode方法;是对指定的字符串应用html编码语法:server.htmlencode(string)2、mappath方法:将指定的虚拟路径(字符串)转换为物理116Server.urlencode:将发送到服务器的汉字及其它字符进行编码传送即加密传送Server.execute调用另一个asp文件,再继续执行其他代码Server.transferServer.urlencode:117ASP组件调用内置组件有两个步骤:1、创建组件一个实例(声明一个对象)2、调用该组件的方法和属性例:Set对象名=server.createobject(“组件名”)Setfa=server.createobject(“mswc.adrotator”)Fa.getadvertisement()ASP组件调用内置组件有两个步骤:118AdRotator组件(广告轮显)声明一个实例:Setfa=server.createobject(“mswc.adrotator”)属性:Border:指定广告图片四周的边框Clickable:指定是否将广告作为超链接显示。默认trueAdRotator组件(广告轮显)声明一个实例:119二、相关文件1、循环定时文件格式:redirecturlWidthheightBorder*AdurlAdhomepageurlTextImpressions‘切换时间比例二、相关文件1202、重定向文件当用户单击广告图像时,会重定向该文件,在重定向文件中使用request.querystring(”url”)来取得与被单击图像相关的url3、应用程序文件即设置实例及显示图像图像的文件2、重定向文件121ContentLinking组件应用:电子书语法:set对象名=server.createobject(“mswc.nextlink”)相关文件1、内容链接文件是一个文本文件,语法文件名 描述文字‘注意文件名与描述之字之间要用tab分开ContentLinking组件应用:电子书1222、建立链接文件3、分页文件属性:Getlistcount(listurl):统计内容链接列表中项目数Getnexturl(“listurl”):下一页urlGetnextdescription(listurl):下一页的描述文件说明Getpreviousurl(listurl):上一页的urlGetpreviousdescription(listurl):上一页的描述文件说明2、建立链接文件123Getlistindex(listurl):当前页的索引Getnthdescription(listurl,i):第i页的文字说明Getnthurl(listurl,i):第i页的urlGetlistindex(listurl):当前页的索引124Fileaccess组件利用fileaccess组件能够实现对服务文件系统的操作主要对象FilesystemobjectTextstreamFileFolderdrivesFileaccess组件利用fileaccess组件能够实125文件及文件夹处理1、filesystemobject对象语法:Setfs=server.createobject(“scripting.filesystemobject”)或Setfs=server.createobject(“scripting.filesystemobject”)Setfo=fs.getdrive(“驱动名”)文件及文件夹处理1、filesystemobject对象126属性方法:2、复制、移动、删除文件Fs.createfolder(“folder”):建立文件夹Fs.createtextfile(“.txt”)建立文本文件Fs.copyfile(folder)“源文件”,“目标文件”Fs.movefile(folder)“源文件”,“目标文件”同一驱动器Fs.deletefile(folder)文件注意:给定用户权限属性方法:127判断访问的指定的文件是否存在Fs.fileexists(路径)判断访问的指定的文件夹是否存在Fs.folderexists(路径)以上直接用fso对象即可s获取指定文件的大小Fs.size获取指定文件的创建日期和时间Fs.datecreated以上两个方法必须使用file对象本身判断访问的指定的文件是否存在128drive组件Drive对象的属性:
driveletter:返回当前驱动器字母号ACPath:当前的驱动器符号A:C:Rootfolder:根文件夹表示A:\C:\Drivetype:驱动器类型如光盘,硬盘FileSystem:驱动器分驱类型IsReady:驱动器是否已准备好,准备好为TrueTotalsize:总空间AvailableSpace(Free):可用空间Sharename:共享名drive组件Drive对象的属性:
driveletter129文本文件的读写(textstream对象)需要使用textstream对象此对只能通过Setfile=Fs.gettextfile(“文件”)方法获得属性、方法:p148文本文件的读写(textstream对象)需要使用texts130Aspupload组件第三方组件下载安装使用Setupload=server.createobject(“persits.upload.1”)可以上传文件还以上传一些表单元素值,作为上传文件附以说明文字属性:Setmaxsize:设置上传文件的最大字节数Overwritefiles:设置能否覆盖文件true覆盖Aspupload组件第三方组件下载安装131方法:Save:将文件上传,并保存在某路径Files:获取上传的文件的对象Form:获取上传的表单元素的对象文件对象的属性:Path:上传后文件所在的路径Size:上传后文件的大小,单位为字节Name:上传的文件在表单中的名字上传的表单对象的属性name:上传的表单元素的名字Size:上传的表单元素的值方法:132ADO对象概述Asp访问数据库的方法1、ODBC(开放式数据库连接):ODBC是由mircrosoft提出的用于访问数据库的统一接口,目前已被业界公认为一种访问数据的标准。ODBC是基于SQL语言的它将所有对数据库的底层操作全部隐藏在其驱动程序内核中,向访问网络数据库的应用程序提供了一种通用的语言,只要系统中相应的odbc驱动程序,任何程序都可以通odbc驱动程序操纵对应的数据库。它可以访问sqlaccess数据库。2、OLEDB(对象链接和嵌入数据库):是一种为适应数据库技术迅速发展而开发的新一代数据访问编程接口。Oledb比odbc使用更简单,效率高ADO对象概述Asp访问数据库的方法133ADO:是ASP中最重要内置组件之一,对数据库的访问就是通过ADO来完成的。见p-170图7-1ADO:是ASP中最重要内置组件之一,对数据库的访问就是通过134ADO中的对象和数据集合ADO中的对象和数据集合Connection:连接对象,用于创建ASP程序和数据源之间的连接创建connection对象:Setconn=server.createobject(“adodb.connection”)Open方法:(1)、设置过的数据源(2)、没设置过的数据源ADO中的对象和数据集合ADO中的对象和数据集合135Connection对象通过ODBC连接ACCESS数据库语法:(1)、设置数据源Setconn.servercreatobject(“adodb.connection”)Setconn.open“dsn=数据源;uid=;pwd=;”(2)、没设置数据源Setconn.open”driver={mircrosoftaccessdriver(*.mdb)};dbq=”&server.mappth(“\”)&“\数据库名;uid=;pwd=;”Connection对象通过ODBC连接ACCESS数据库语136通过OLEDB连接Access数据库Conn.open“provider=microsoft.jet.OLEDB.4.0;Datasource=“&server.mappth(“\”)&“\数据库名”Execute方法:能够执行指定的查询、SQL语句等操作以两种格式:对于没有返回结果的命令格式Conn.executesql,recordesaffected,options通过OLEDB连接Access数据库137说明:Sql:包含要执行的SQL语句、存储过程RecordsAffeted:变量,表示执行指定的操作所影响的记录数目。只有当执行insert,update,delete时只参数有效。Option参数:有利于提高程序执行效率。告诉系统这是一个什么类型的字符串。具体参数见p-179表7-7Adovbs.inc:option参数取值为常量时则需包含此文件。说明:138使用OLEDB连接access数据库<%dpath=server.mappath("user.mdb")setconn=server.createobject("adodb.connection")conn.open"provider=microsoft.jet.oledb.4.0;datasource="&dpath%>使用OLEDB连接access数据库139Connection对象的属性Connectionstring:连接字符串Connectiontimeout:默认15秒如果想让执行时没有时间限制,则将其值设置为0Commandtimeout:默认30秒,如果想让执行Execute方法时没有时间限制,则只需将其值设置为0Provider:设置connection对象的提供者Mode:设置访问权限Connection对象的属性Connectionstrin140State:取得connection对象的状态,0关闭1打开State:取得connection对象的状态,0关闭1打开141<%setconn=server.createobject("adodb.connection")conn.mode=2conn.connectionstring="provider=microsoft.jet.oledb.4.0;datasource="&server.MapPath("\")&"\data\user.mdb"conn.opensql="deletefrom[user]wherenamelike'张%'andsex='男'"setrs=conn.execute(sql)response.writers.state&conn.statesetrs=server.CreateObject("adodb.recordset")sql="select*from[user]"rs.opensql,conn,1,3setrs=conn.execute(sql)dowhilenotrs.eofresponse.writers("name")rs.movenextloopconn.closeresponse.writeconn.statesetconn=nothing%><%142Command对象使用Command对象的步骤:当在ASP页面中使用Command对象处理数据时,应首先设置命令类型、命令文本以及相关的活动数据库连接等,并通过Parameter对象传递命令参数,然后通过调用Execute方法来执行SQL语句或调用存储过程,以完成数据库记录的检索、添加、更改和删除任务。其步骤如下:1、使用ActiveConnection属性设置相关的数据库连接;2、使用CommandType属性设置命令类型;3、使用CommandText属性定义命令(例如SQL语句)的可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期中教导主任讲话稿6篇
- 进步发言稿范文400字(33篇)
- 酒店个人上半年工作总结7篇
- 高考地理二轮复习考前抢分专题识图技能专练图像二剖面示意图含答案
- 开学第一课安全教育课演讲稿(3篇)
- 销售月度总结
- 27.1 反比例函数 同步练习
- 上海2024-2025学年高三上学期期中考试英语试题(无答案)
- 内蒙古乌海市2024-2025学年高一上学期期中考试物理试题(无答案)
- 2025年高考物理复习之预测压轴题:动量定理及动量守恒(解析版)
- 路面弯沉温度修正系数
- 【护理论文】护理论文范文(共40篇)
- 2023腿式机器人性能及试验方法
- 乳胶漆墙面施工方案范本
- Scratch在小学数学中的应用-以《长方形的周长》为例
- 化工企业停工方案范本
- 网络传播法规(自考14339)复习必备题库(含答案)
- 民法典合同编解读之合伙合同
- 高中英语学习情况问卷调查表及调查报告
- 《微电影制作教程》第五章
- GRR计算公式表格
评论
0/150
提交评论