ASP编程中15个非常有用的例子
ASP十大常用代码
ASP十大常用代码第一节:注册系统注册几乎是每个网站都要使用的,去论坛要注册,聊天要注册,几乎无处不注册,所以注册是所有ASP应用程序中最常见的。
第二节:留言薄互联网最大的特点是互动性,让网友在留言薄上留下自己的意见能使网站的人气值上升不少。
第三节:调查系统利用网络进行一些调查是非常常见的,轻轻一点投下自己一票,因此有一个调查系统能为网站增色不少。
第四节:购物车购物车这个名字取自超级市场的购物推车,不过这个小小的推车却是每个购物网站必备的。
第五节:计数器在浏览网页的时侯,常常可以看见一些“当前网站上的人数是xxxx人”的在线人数统计。
第六节:论坛系统论坛可以说是网站中最受网友欢迎的地方,网友可以在这里自由的发表自己的意见,网站人气的高低很大程度上由论坛决定,因此为我们的网站增加一个论坛是必须的。
第七节:聊天室当你独自在Internet上浏览时,你并不是一个孤单的“旅人”,因为每时每刻总有成千上万的人同时在网上浏览,你可以同他们聊聊天,交谈几句,让自己体验一下“网”内存知己、天涯若比邻的感觉第八节:EMail 当你独自在Internet上浏览时,你并不是一个孤单的“旅人”,因为每时每刻总有成千上万的人同时在网上浏览,你可以同他们聊聊天,交谈几句,让自己体验一下“网”内存知己、天涯若比邻的感觉。
第九节:搜索系统一个大型网站内容众多,来访者往往很难找到自己所需要的东西,这时候就需要一个站内搜索来帮助来访者更快的找到索要的资料,所以搜索系统是一个大型网站必备系统。
第十节:分页程序从程序上说分页只是一种小技巧,但确实却是一个非常重要的小技巧,好,少说废话,我们开始吧。
好了以上是我要给大家分别讲解的教程.欢迎大家及时收藏和支持这里先给大家讲解第一节:注册系统(一),设定注册页面的外观:在这个例子中涉及了五个页面,其中有三幅是一般的htm文件,另外的两幅是asp文件,在这里制作利用的工具是frontpage98,但是大部分的asp代码还是要自己输入的:1,设定原来已经注册的用户进入的外观:在这里设置了两个文本框,一个超级链接和两个按钮。
20个经典ASP例子
1.如何用Asp判断你的网站的虚拟物理路径答:使用Mapp ath方法< p align="center" > < font size="4" face="Arial" > < b > The Physic al path to this virtua l websit e is:< /b > < /font >< font color="#FF0000" size="6" face="Arial" >< %= Server.MapPat h("\")% >< /font > < /p >2.我如何知道使用者所用的浏览器?答:使用theReques t object方法strBro wser=Reques t.Server Varia bles("HTTP_U SER_A GENT")If Instr(strBro wser,"MSIE") < > 0 ThenRespon se.redire ct("ForMSI EOnly.htm")ElseRespon se.redire ct("ForAll.htm")End If3.如何计算每天的平均反复访问人数答:解决方法< % startd ate=DateDi ff("d",Now,"01/01/1990")if strdat e < 0 then startd ate=startd ate*-1avgvpd=Int((usercn t)/startd ate) % >显示结果< % respon se.write(avgvpd) % >that is it.this page have been viewed sinceNovemb er 10,19984.如何显示随机图象< % dim p,ppic,dpicppic=12random izep=Int((ppic*rnd)+1)dpic="graphi x/random pics/"&p&".gif"% >显示< img src=" < %=dpic% >" >5.如何回到先前的页面答: < a href=" < %=reques t.server Varia bles("Http_R EFERE R")% >" >preivo us page < /a >或用图片如: < img src="arrowb ack.gif" alt="< %=reques t.server Varia bles("HTTP_R EFERE R")% >" >6.如何确定对方的IP地址答: < %=Reques t.server Varia bles("REMOTE_ADDR)% >7.如何链结到一副图片上答: < % @Langua ges=vbs cript% >< % respon se.expire s=0strima genam e="graphi x/errors/errori amge.gif"respon se.redire ct(strima genam e)% >8.强迫输入密码对话框答:把这句话放载页面的开头< % respon se.status="401 not Author ized"respon se.end% >9.如何传递变量从一页到另一页答:用 HIDDEN类型来传递变量< % form method="post" action="mynext page.asp" >< % for each item in reques t.form % >< inputnamee=" < %=item% >" type="HIDDEN"value=" < %=server.HTMLEn code(Reques t.form(item)) % >" >< % next % >< /form >10.为何我在 asp 程序内使用msgbox,程序出错说没有权限答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。
asp 案例
asp 案例ASP案例。
ASP是一种基于服务器的脚本语言,用于创建动态交互式网页。
它可以与HTML一起使用,也可以与其他服务器端脚本语言一起使用。
ASP允许开发人员使用VBScript、JScript等脚本语言编写网页。
下面我们将通过几个实际案例来展示ASP的应用。
案例一,用户登录验证。
假设我们有一个网站,需要用户登录后才能访问某些页面。
我们可以使用ASP来实现用户登录验证功能。
首先,我们需要创建一个登录页面,其中包括用户名和密码的输入框,以及登录按钮。
然后,我们编写一个ASP脚本,当用户点击登录按钮时,脚本将获取用户输入的用户名和密码,然后与数据库中存储的用户信息进行比对。
如果用户名和密码匹配成功,就允许用户访问受保护的页面;否则,提示用户输入错误。
案例二,数据查询与展示。
假设我们有一个产品列表页面,需要从数据库中获取产品信息并展示在网页上。
我们可以使用ASP来实现数据查询与展示功能。
首先,我们需要编写一个ASP脚本,连接到数据库,并编写SQL查询语句来获取产品信息。
然后,将查询结果展示在网页上,可以使用HTML表格来展示产品名称、价格等信息。
通过ASP脚本,我们可以实现动态获取数据库中的数据,并将其展示在网页上,实现了页面内容的动态生成。
案例三,在线留言板。
假设我们需要在网站上添加一个在线留言板,让用户可以发表留言并展示在网页上。
我们可以使用ASP来实现在线留言板功能。
首先,我们需要创建一个留言页面,包括留言标题、内容输入框,以及提交按钮。
然后,编写一个ASP脚本,当用户点击提交按钮时,将用户输入的留言内容保存到数据库中。
另外,我们还可以编写另一个ASP脚本,用于从数据库中获取留言信息,并展示在网页上。
通过ASP脚本,我们可以实现用户留言的提交和展示功能,实现了网站与用户的互动。
结语。
通过以上几个案例,我们可以看到ASP在动态网页开发中的重要作用。
它可以实现用户登录验证、数据查询与展示、在线留言板等功能,为网站的交互性和动态性提供了强大的支持。
ASP中连接数据库的错误解决办法,ASP 编程中 20 个非常有用的例子
/download/info /1701.htm/Program/Asp/112 TM562008.html<%dim ConnStringset conn=server.CreateObject("adodb.connection")ConnString="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("#kucun.mdb") conn.open ConnString'连接数据库%>2000下使用asp访问数据库时,在conn.open始终发生8007007f错误,重装IIS和access均得不到解决。
我在网上查到的解决办法是将oledb32.dll 解压到以下两个目录,然后重启服务器:1) C:\WINNT\system32\dllCache2) C:\Program Files\Common Files\System\OLE DB<%dim conn,exec,rsset conn=server.createobject("adodb.connetion")conn.open "driver={microsoft access driver(*.mdb)};dbq="&server.mappath("show.mdb")exec="select * from list"set rs=server.createobject("adodb.recordset")rs.open,exec,conn,1,1%>ASP中连接数据库的错误解决新解决办法Provider 错误80004005 未指定的错误的新解决办法.这两天运行的好好的点击统计程序突然出错了,显示的就是:------------------------------------------Provider 错误80004005未指定的错误------------------------------------------在网上找了一大圈,发现大家提供的办法我都试过了,没有一个有作用的.方法有以下:1.开始运行regsvr32 jscript.dll (命令功能:修复Java动态链接库)开始运行regsvr32 vbscript.dll(命令功能:修复VB动态链接库)开始运行iisreset (命令功能:重启IIS)开始运行msjetoledb40.dll2.给系统临时文件夹%windir%/temp/ 加上IUSR_COMPUTER 用户的读写权限3.ASP连接Access数据库的时候,如果频繁刷新页面,出现80004005 未指定错误,数据库不能连接,但是过大约10多分钟后再刷新就可以连接。
net core经典案例
net core经典案例
1. 网络应用程序:使用 Core开发一个在线商城的网站。
网站包含商品列表、购物车、支付功能等。
2. 博客平台:使用 Core开发一个博客平台,可以实
现用户注册、登录、发表博文、评论等功能。
3. 实时聊天应用:使用 Core SignalR开发一个实时
聊天应用,可以让用户实时发送和接收消息。
4. 文件上传下载:使用 Core开发一个文件上传下载
的应用,用户可以上传文件并分享给其他人下载。
5. 视频播放器:使用 Core开发一个视频播放器,支
持上传视频文件、在线播放视频。
6. 图片处理工具:使用 Core开发一个图片处理工具,可以实现图片的缩放、剪切、旋转等功能。
7. 多语言网站:使用 Core开发一个多语言网站,可
以根据用户的选择在不同语言之间切换。
8. 论坛系统:使用 Core开发一个论坛系统,可以实
现用户的注册、发帖、回复等功能。
9. API服务:使用 Core开发一个API服务,提供数
据的增删改查等功能。
10. 电子商务系统:使用 Core开发一个电子商务系统,包含商品管理、订单管理、用户管理等功能。
值得收藏的一些ASP代码
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return false;" 防止复制
5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
值得收藏的一些ASP代码值得收藏的一些ASP代码 Байду номын сангаас
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
7. <input style="ime-mode:disabled"> 关闭输入法
8. 永远都会带着框架
<script language="javascript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
<INPUT name="radio1" type="radio" value="barcode">Barcode
ASP循环语句
ASP基础实例教程之ASP中循环语句使用实例实例一:do....loop (当条件为True(或者条件为True)时循环)运行结果:Test1While()循环重复了10次,Test2While()循环重复了1次,Test1Until()循环重复了11次,Test2Until()循环重复了10次CODE:<%@language="vbscript" codepage="936"%><html><head><title>do....loop几种用法</title></head><body><%Sub Test1While()dim counter,myNumcounter=0myNum=20do while myNum>10myNum=myNum-1counter=counter+1loopResponse.Write"Test1While()循环重复了"&counter&"次。
"&"<br>"end SubSub Test2While()dim counter,myNumcounter=0myNum=9domyNum=myNum-1counter=counter+1loop while myNum>10Response.Write"Test2While()循环重复了"&counter&"次。
"&"<br>"end SubSub Test1Until()dim counter,myNumcounter=0myNum=20do until myNum<10myNum=myNum-1counter=counter+1loopResponse.Write"Test1Until()循环重复了"&counter&"次。
ASP案例(聊天室)
ASP案例──聊天室通过聊天室,可以跟身在远方的好朋友尽情聊天,也可以结交认识网上的很多新朋友。
一、关键技术1.网页的定时刷新在聊天室中,浏览器要不停地刷新,以读取最新的用户发言。
可用实现语句:<meta http-equiv=”refresh” content=3>实例:<html><head><meta http-equiv="refresh" content="1"><title>网页定时刷新</title></head><body><font color=red size=5><center>现在时间是:<%=now()%><center></font></body></html>2.使用Application和Session对象刷新聊天室Application对象代表了一个Action Server应用程序,也就是一个Web网页,Session对象则表示一个用户,代表一个用户对这个页面的一次访问,通过Application对象可以让访问它的所有用户共享信息,并可以在Web服务器运行期间持久地保存数据,而Session对象也可以在用户的一次访问期间持久地保持数据。
3.私聊私聊只要求发言者和发言对象看到聊天的内容,当然,当私聊的对象是所有人时,则所有的人都能看到私聊的内容。
二、模块构成1.用户登录模块。
2.新用户注册模块。
3.已注册用户聊天模块。
二、文件组成1.用户登录模块Index.asp,即系统登录默认页面。
2.用户注册模块Register.asp。
3.已注册用户聊天模块。
聊天室主界面:Main.asp聊天室布局:ChatRoom.asp显示当前在线用户名单:ShowName.asp实现用户输入和发送聊天内容:PostMsg.asp显示用户登录之后的所有聊天内容:ShowMsg.asp在聊天室主界面上方显示该聊天室的名称:TopMsg.asp用户退出登录:Logout.asp4.公共文件:与数据连接:Conn.asp用户密码的加密:MD5.asp邮件地址格式确认:Procedure.asp验证码的生成与显示:Function.asp、SafeCode.asp、Canvas.asp、Font.asp。
ASP 3.0高级编程(四)
ASP 3.0高级编程(四)【摘要】本文介绍了ASP 3.0高级编程的一些重要知识点,包括Session和Application对象的应用、高级调试技巧、自定义组件的开发、数据库连接与操作,以及安全性和性能优化技巧。
通过深入学习这些内容,读者可以更好地应用ASP 3.0进行web开发,并提升项目的质量和效率。
Session和Application对象的灵活运用可以帮助我们在网站开发中实现用户状态的管理,高级调试技巧则可以帮助开发人员更快地定位和解决bug。
自定义组件的开发能够提高代码的复用性和可维护性,数据库连接与操作是web开发中不可或缺的部分,安全性和性能优化技巧则能够保障网站的稳定性和安全性。
ASP 3.0高级编程是提高web 开发技能的重要一环,希望读者通过本文的学习能够对ASP 3.0有更深入全面的理解。
【关键词】关键词:ASP 3.0高级编程,Session对象,Application对象,高级调试技巧,自定义组件,数据库连接,安全性,性能优化,总结。
1. 引言1.1 ASP 3.0高级编程(四)简介ASP 3.0是一种用于开发动态网站的服务器端脚本语言,它可以与HTML页面结合使用,实现网站的交互和动态性。
ASP 3.0高级编程是ASP的一个深入学习阶段,需要掌握更多的技巧和知识。
在本篇文章中,我们将重点介绍ASP 3.0高级编程的一些重要内容,帮助读者更好地理解和应用ASP 3.0技术。
在ASP 3.0高级编程中,我们将学习如何使用Session和Application对象来进行数据的存储和共享,实现用户之间的数据交互。
我们还将探讨高级调试技巧,帮助开发者更快地定位和解决问题。
我们还将学习如何开发自定义组件,扩展ASP的功能。
数据库连接与操作在网站开发中也是非常重要的一部分,我们将深入探讨如何使用ASP 3.0进行数据库连接和操作。
我们还将介绍一些安全性和性能优化技巧,帮助读者更好地保护网站信息安全和提升网站的性能。
超精华的asp代码大全
超精华的asp代码⼤全显⽰页⾯加载时间重复域中的斑马线显⽰字符串前20个字符并在结尾处添加“……”如果动态图⽚为空,使⽤默认图⽚代替如果数据为空,使⽤默认提⽰信息代替显⽰页⾯加载时间页⾯顶部添加下⾯的代码:<%Dim strStartTimeDim strEndTimestrStartTime = Timer '开始时间%>页⾯(同⼀页)的末尾添加:<%' 加载完毕的时间strEndTime = TimerResponse.Write ("页⾯加载时间: ")Response.Write FormatNumber(strEndTime - strStartTime, 4)Response.Write (" 秒.")%>重复域中的斑马线<%'此模块放置在重复域之外Dim RecordCounterRecordcounter = 0%><tr class =<%'将重复域中第⼀个 <tr>标签的CLASS属性代码⽤本模块替换'本模块基于CSS来改变单元格背景⾊,你也可以直接设置背景⾊来实现斑马线RecordCounter = Recordcounter + 1If RecordCounter Mod 2 = 1 ThenResponse.Write "altRow1"ElseResponse.write "altRow2"End If%>显⽰字符串前20个字符并在结尾处添加“……”<%Dim CutShortCutShort = rsYourRecordset.Fields.Item("YourField").ValueResponse.Write LEFT (CutShort, 20) & "........"%>如果动态图⽚为空,⽤默认图⽚代替<%Dim PicShowPicShow = rsShowHide.Fields.Item("shMainPix").ValueIF PicShow <>"" THEN %><img src="<%=rsShowHide.Fields.Item("shMainPix").Value%>"><% ELSE %><img src="StaticPic.gif"><% End If %>如果数据为空,⽤默认提⽰信息代替。
ASP编程常用代码精选集合(八)
1:asp二进制转字符串<% ' BIN2STR(xBinary,Charset)' 二进制转字符串'' #################################################### #'' xBinary 为二进制数据流' Charset 为转换编码'' #################################################### #'' a = BIN2STR(BinaryDate,"GB2312")' a = BIN2STR(BinaryDate,"UTF-8")Function BIN2STR(xBinary,Charset)Dim RS, LBinary,BinaryBinary = xBinaryConst adLongVarChar = 201Set RS = CreateObject("ADODB.Stream")RS.Type = 1RS.Mode =3LBinary = LenB(Binary)if LBinary>0thenRS.OpenRS.Write BinaryRS.Position = 0RS.Type = 2RS.Charset = CharsetBIN2STR = RS.ReadTextElseBIN2STR = ""End IfEnd Function2:asp采集函数' getHttpPage(xUrl,Charset)' 采集函数'' #################################################### #'' 该函数需要Microsoft.XMLHTTP 组件支持'' xUrl 为要采集信息的地址' Charset 为要采集的编码'' #################################################### #'' a = BIN2STR(BinaryDate,"GB2312")' a = BIN2STR(BinaryDate,"UTF-8")Function getHttpPage(xUrl,Charset)On Error Resume NextDim HttpSet Http = Server.CreateObject("Microsoft.XMLHTTP")Http.Open "GET",xUrl,FalseHttp.Send()If Http.ReadyState <> 4ThenResponse.Write "无法连接采集源"getHttpPage = FalseExit FunctionEnd IfgetHttpPage = BIN2STR(Http.responseBody,Charset)Set Http = NothingIf Err ThenResponse.Write "<p align='center'><font color='red'><b>服务器获取文件内容出错,请刷新重试!</b></font></p>"getHttpPage = Err.descriptionErr.ClearEnd IfEnd function3:asp以文本方式打开文件' OpenFromFile(FilePath,Charset)' 以文本方式打开文件'' #################################################### #'' 该过程需要Scripting.FileSystemObject 及Adodb.Stream 组件支持'' FilePath 为包含路径在内的文件名' Charset 为要显示的编码标准'' #################################################### #'' a = OpenFromFile("Functions.ASP","GB2312")Function OpenFromFile(FilePath,Charset)Dim FSO,FileSet FSO = Server.CreateObject("Scripting.FileSystemObject")If FSO.FileExists(Server.MapPath(FilePath)) ThenSet File = Server.CreateObject("Adodb.Stream")File.Type = 1File.OpenFile.LoadFromFile(Server.MapPath(FilePath))OpenFromFile = BIN2STR(File.Read,Charset)Set File = NothingElseOpenFromFile = "File does not exists."End IfSet FSO = NothingEnd Function4:asp文件保存' SaveToFile(FileName,Code,Charset,Path,DtNow)' 文件保存'' #################################################### #'' 该过程需要Scripting.FileSystemObject 及Adodb.Stream 组件支持'' FileName 为要保存的文件名' Code 为要保存的内容' Charset 为要保存的编码格式' Path 为要保存的文件存放地址' 如果该地址不存在则自动建立(自动建立的路径部分的字符串中不能包含\ / : * ? " < > | 等非法文件名的特殊符号)' 注:只能建立一级新路径'' DtNow 为子路径' 如果路径不存在则自动建立(自动建立的路径部分的字符串中不能包含\ / : * ? " < > | 等非法文件名的特殊符号)' 如果是时间类型则按日期建立子路径' 如果不是则直接按字符串建立路径' 如果为空,则不建立子路径' 注:只能建立一级新路径'' #################################################### #'' Call SaveToFile("a.html","<html><head><title>this is a Example page</title></h ead></html>","UTF-8","","")' Call SaveToFile("b.html","<html><head><title>这是一个中文页面</title></head></ html>","GB2312","",Now())' Call SaveToFile("b.html","<html><head><title>这是一个日文页面</title></head></ html>","Shift-Jis","",Now())Sub xSaveToFile(FileName,Code,Charset,Path,DtNow)On Error Resume NextDim File,sPath,FSOSet FSO = Server.CreateObject("Scripting.FileSystemObject")sPath = PathIf sPath = ""Then sPath = "."If Right(sPath,1) = "/"Or Right(sPath,1) = "\"Then sPath = Left(sPath,Len(sPa th) - 1)If Not FSO.FolderExists(Server.MapPath(sPath)) ThenFSO.CreateFolder(Server.MapPath(Path))End IfIf IsDate(DtNow) ThensPath = sPath & "/"& Int(DtNow)ElseIf DtNow <> ""ThensPath = sPath & "/"& DtNowEnd IfIf Right(sPath,1) = "/"Or Right(sPath,1) = "\"Then sPath = Left(sPath,Len(sPa th) - 1)If Not FSO.FolderExists(Server.MapPath(sPath)) ThenFSO.CreateFolder(Server.MapPath(sPath))End IfSet FSO = NothingIf Err Thenresponse.write sPathResponse.Write "File save failed,please check the path."response.write Err.descriptionExit SubEnd IfSet File = Server.CreateObject("Adodb.Stream")File.Charset = CharsetFile.Mode = 3File.OpenFile.Type = 2File.Position = 0File.WriteText CodeFile.SaveToFile Server.MapPath(sPath & "/"& FileName), 2 File.CloseSet File = NothingEnd Sub。
ASP经典实用代码
1、数据库连接。
ASP与Access数据库连接:
<%@ language=VBscript%>
<%
dim conn,mdbfile powered by
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
DW中用字符串连接代码:
"Driver={Microsoft Access Driver (*.mdb)};DBQ=数据库的绝对路径"
sql="SELECT * FROM data" '更改您的数据库表名
rs.Open sql,conn,1,1
6、获得系统的时间。
<%=now()%>
7、取得来访问的IP。
<%=request.serverVariables("remote_host")%>
8、随机数。
< % next % >
< /form >
12、常用SQL语句整理。
(1) 数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 数据表 where 字段名 like ''%字段值%'' order by 字段名 [desc]"
asp源代码
asp源代码
ASP(Active Server Pages)是一种基于服务器端的脚本语言,用于创建动态网页和应用程序。
本文将探讨ASP源代码的基本概念、语法和用法,并提供一些示例以帮助读者更好地理解和应用ASP。
ASP源代码是在ASP文件中编写的。
ASP文件可以包含HTML标记和ASP脚本。
ASP脚本通过包含在尖括号<% %>内部来识别。
在这些标记中,可以编写各种ASP代码,如变量声明、条件语句、循环语句、函数和对象等。
在ASP中,可以使用各种对象和组件来完成各种任务。
例如,可以使用Request对象来获取来自客户端的数据,使用Response对象向客户端发送数据。
还可以使用Server对象访问服务器上的一些属性和方法。
此外,还可以使用Session和Application对象来处理会话和应用程序级别的数据。
下面是一些ASP源代码的示例:
1. 变量声明和输出:
<%
Dim name name = \。
15种asp使用技巧范文
*技巧1:给应用层文件使用GLOBAL.ASA将文件载入GLOBAL.ASA中的一个应用层数组中,而不是通过使用ASP文件系统对象在页面上读取文件。
GLOBAL.ASA可用于指定事件脚本,也可用于声明拥有session或应用程序范围的对象。
它不直接显示给用户,而是存储应用层事件的信息和对象。
然后通过页面就可以指向存有数据的应用层数组。
这就意味着每有一个服务器端请求就读一次文件,不是每个用户每页读一次。
你可以运行一个独立的ASP文件去刷新应用层数组的内容,同时你也可以考虑使用dictionary对象(见技巧9)。
这个技巧可以大大加快你的系统速度。
那么将如何实现该技巧呢?如果你是一个脚本编写人员,必须使用文件系统对象读取文件放入一个数组或一个dictionary对象中。
然后在GLOBAL.ASA中读取文件并且把数组(放有你读取的文件内容)或dictionary对象放到应用层声明中。
这样就可让用户在数组或dictionary对象中存取信息,而不必每次通过一个ASP请求去提交信息。
但也许你会想"如果缓存中的内容需要更新又该怎么办呢?我敢打赌不会用到。
"其实不然。
如果缓存中的内容需要更新,你可以调用一个包含有可执行应用程序锁定命令脚本的仅管理员可存取的ASP 文件,在数组或dictionary对象中更新缓存信息,最后执行应用程序锁定命令。
*技巧2:从产品源代码中移去HTML注释(IIS3.0适用)不错,难写的肯定也难懂。
开个玩笑,这不代表要你把所有的HTML 注释去掉(脚本注释就挺好的),大范围的HTML文本都能成批的拷贝到客户端。
这样的话,你的脚本在IIS3.0上会运行得更快(在IIS4.0中,HTML注释不再会导致执行速度的降低)。
--------------------------------------------------------------------------------*技巧3:多个Response.write声明如果你是在代码中的好几个地方用<%=...%>格式书写输出结果,那么考虑一下把这些结果合到一块,用一个Response.write语句写出来。
ASP编程常用代码精选集合(十三)
1:长文章自动分页类'原创的长文章自动分页类Class AutoPaging'*************************************************************'目的:自动将长文章分页输出'属性:Splitchar:分页搜索标志。
以一维数组方式输入,默认array("<br>","<BR>", "<Br>","<bR>")'PagingString:要进行分页的字符串'PagingSize:分页长度'CurrentPage:当前输出页码'DefaultRange:默认搜索分页标志范围'StepRange:搜索步长'方法:getTotalPageCount():返回总分页数'OutputString:输出当前分页内容'*************************************************************public Splitchar '分页搜索标志,数组public PagingString '分页字符串public PagingSize '页面最大长度public CurrentPage '当前页码public DefaultRange '默认起始范围public StepRange '步长pr ivate Truncate '2维数组m,n。
m0=页码、m1=起始字符、m2=结束字符,n=总页数pr ivate intStart '开始位置pr ivate intLen '截取长度pr ivate tmpStrpr ivate Range '起始范围pr ivate Sub Class_Initialize()Splitchar=array("<br>","<BR>","<Br>","<bR>")PagingSize = 2000DefaultRange=1StepRange = 1intStart = 0intEnd = 0End Subpublic Function getTotalPageCount() '返回总页数if len(PagingString) mod PagingSize > 0thengetTotalPageCount = int(len(PagingString) / PagingSize) + 1elsegetTotalPageCount = len(PagingString) / PagingSizeend ifEnd Functionpublic Sub OutputStringredim Truncate(2,getTotalPageCount())For tmpI = 0to getTotalPageCount()Truncate(0,tmpI)=tmpINextFor tmpI = 1to ubound(Truncate,2)if Truncate(0,tmpI) = 1thenTruncate(1,tmpI) = 1elseTruncate(1,tmpI)=Truncate(1,tmpI - 1) + Truncate(2,tmpI - 1) end ifRange = DefaultRangeDo while Range < PagingSizetmpStr=right(mid(PagingString,Truncate(1,tmpI),PagingSize),Range)For tmpInt=0to ubound(Splitchar)if instr(1,tmpStr,Splitchar(tmpInt)) > 0thenTruncate(2,tmpI) = (PagingSize - (len(tmpStr) - instr(1,tmpStr,Spli tchar(tmpInt)))) - 1exit doend ifNextRange = Range + StepRangeLoopif tmpI = Cint(CurrentPage) thenintStart = Truncate(1,tmpI)intLen = Truncate(2,tmpI)end ifnextif Cint(CurrentPage) = getTotalPageCount() thenresponse.write(mid(PagingString,intStart)) '如果当前分页为最后一页,则取剩下的所有字符elseresponse.write(mid(PagingString,intStart,intLen))end ifEnd SubEnd Class2:asp登陆窗口代码,含数据库的连接<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. /TR/xhtml1/DTD/xhtml1-transitional.dtd"><%dim connset conn=Server.createobject("adodb.connection")conn.open "pr ovider=microsoft.jet.oledb.4.0;data source="&server.mappath("jixie.m db")If err.number<>0 thenResponse.write("连接数据库时产生错误!")Response.EndEnd if%><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>数控机床结构设计系统</title><style type="text/css"><!--.STYLE1 {font-size: 36px}.STYLE2 {font-size: 36px; color: #FF0000; }.STYLE6 {font-size: 24px;color: #000000;}.STYLE8 {font-size: 14px}.STYLE9 {font-size: 16px; }body {background-image: url(image/001.jpg);}--></style></head><body ><label><form id="form1" name="form1" method="post" action=""><div align="center"><h1 class="STYLE1"><br /><br /></h1><h1 class="STYLE2"><span class="STYLE6">数控机床结构设计系统</span><br /> <br /><span class="STYLE8">*您没登陆,不具有任何操作权限,请先登陆!</span></h1></div></form><div align="center"><br /><form id="form3" name="form3" method="post" action=""><p class="STYLE9">用户名<input name="user" type="text" id="user" /></p><p class="STYLE9">密码<input name="pass" type="password" id="pass" /></p><p class="STYLE9"><input type="submit" name="Submit" value="提交" /><input type="reset" name="reset" value="重置" /></p></form></div></label><div align="center"><%dim user,pass,poweruser=request("user")pass=request("pass")power=request("power")if user="" or pass="" thenresponse.write "用户名或密码不能为空!"response.endend ifif power=0 thenset rs=conn.execute("select * from dljm where name='"&user&"' and password='"& pass&"'")elseresponse.write "你的密码或用户名有误,请重新登陆"end if%><%if not rs.eof thenif power=0 thensession("name")=userresponse.redirect"1.asp"end ifelseresponse.write "你的用户名或密码有误,请重新登陆"response.endend if%></div></body></html>3:对非法图片的删除lastpath="已经上传的图片路径"sFile=server.mappath(lastpath)set MyFile=server.CreateObject("Scripting.FileSystemObject")set MyText=MyFile.OpenTextFile(sFile, 1) '读取文本文件sTextAll=lcase(MyText.ReadAll)MyText.closesStr=".getfolder,.createfolder,.deletefolder,.createdirectory,.deletedirectory,.saveas,w script.shell,script,.encode.,重命名,修改,属性,文件,浏览器,新建,复制,成功,参数错误,服务器,空间,下载,http,create,delete,fso,set,select,execute,response"sNoString=split(sStr,",")for i=0 to ubound(sNoString)if instr(sTextAll,sNoString(i)) thenSET fs=server.CreateObject("Scripting.FileSystemObject")if FS.FileExists(sFile) thenFS.DeleteFile(sFile)end ifset fs=nothingresponse.Write "<script>alert('上传操作失败,非法图片'),window.history.go(-1);</scrip t>"4:使用ASP重启服务器大家知道直接使用ASP是不能够重启服务器的,这时我们需要制作一个组件来实现功能,ASP通过这个组件调用系统API,然后按照不同的重启和关机方式进行操作!下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的!1)先修改工程属性,在工程属性窗口将工程名称改为system,在类模块窗口将模块名称改为contral,保存工程;2)然后添加一个模块,用来声明需要使用的API和常数!下面是模块中的内容!Declare Function ExitWindowsEx Lib "user32 " (ByVal uFlags As Long, ByVal dwReserved As Long) As Long3)在类模块中输入下列代码:Public Function reboot(atype As Variant)t& = ExitWindowsEx(1, atype)End Function该函数需要传入一个参数,用来控制启动方式,这个参数是从ASP程序中传入的,等一下就可以看到具体的使用方法!编写完上面的代码,保存工程,将工程编译为system.dll。
ASP入门(十一)-Session小案例
ASP⼊门(⼗⼀)-Session⼩案例⼀般来说,在实际开发中,对于 Session 对象使⽤最多的就是⽤户登录部分了,这个案例将简单模拟⼀个⽤户登录表单、⽤户是否登录的判断以及⽤户退出的⼀系列功能,它⼀共分了以下⼏个页⾯。
Login.asp (⽤户登录)、Check.asp (⽤户是否已经登录判断)、Logout.asp (⽤户退出)Login.asp ⽤户登录部分我们将要完成⽤户登录表单的显⽰,以及提交后,对于⽤户输⼊密码的判断和写 Session 的操作,主要代码如下:<%Dim sPassword'判断是否POST提交单表,开始登录If UCase(Request.ServerVariables("REQUEST_METHOD")) = "POST"Then'提交表单登录,判断密码sPassword = Trim(Request.Form("password"))If sPassword = "123456"ThenSession("password") = "123456"Response.Write("<h3>您已经登录成功!请访问<a href=""Check.asp"">登录检查⽂件</a></h3>")ElseResponse.Write("<h3>您输⼊的密码有误!</h3>")'Response.End()End IfElse'显⽰表单,让⽤户登录%><form method="post" action="">请输⼊密码:<input name="password" type="text"/><input type="submit" value="提交"/></form><%End If%>运⾏效果如下:登录成功,显⽰如下:Check.asp 登录判断部分⽤来检查⽤户 Session,从⽽判断是否已经登录,主要代码如下:<%Dim sPasswordsPassword = Trim(Session("password"))if sPassword = ""ThenResponse.Write("<h3>您还没有登录呢,请访问<a href=""Login.asp"">登录表单</a></h3>")ElseResponse.Write("<h3>您已经登录了,可以访问<a href=""Logout.asp"">退出页⾯</a></h3>")End If%>如果成功登录显⽰:如果没有登录显⽰:Logout.asp ⽤户退出部分通过 Session 的 Remove ⽅法来清空 Cookies,从⽽实现⽤户的退出。
ASP网站简单实例
ASP网站简单实例一般来说,一个真正的、完整的站点是离不开数据库的,因为实际应用中,需要保存的数据很多,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。
数据库有很多种,如:Fox 数据库(.dbf)、Access 数据库(.mdb)、Informix、Oracle 和SQL Server 等等,在这里,我将以Microsoft Access 数据库为例来说明ASP是如何访问数据库的。
常用数据库语句1.SELECT 语句:命令数据库引擎从数据库里返回信息,作为一组记录。
2.INSERT INTO 语句:添加一个或多个记录至一个表。
3.UPDATE 语句:创建更新查询来改变基于特定准则的指定表中的字段值。
4.DELETE 语句:创建一个删除查询把记录从FROM 子句列出并符合WHERE 子句的一个或更多的表中清除。
5.EXECUTE 语句:用于激活PROCEDURE(过程)用ASP 来做一个自己的通讯录练练手吧……一、建立数据库用Microsoft Access 建立一个名为data.mdb 的空数据库,使用设计器创建一个新表。
输入以下几个字段:字段名称数据类型说明其它ID自动编号数据标识字段大小:长整型新值:递增索引:有(无重复)username文本姓名缺省值usermail文本E-mail缺省值view数字查看次数字段大小:长整型默认值:0索引:无indate时间日期加入时间缺省值保存为data.mdb 文件,为了便于说明,只是做了一个比较简单的库。
二、连接数据库方法1:Set conn = Server.CreateObject("ADODB.Connection")conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")方法2:Set conn = Server.CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")注意:一个页面中,只要连接一次就可以了,数据库使用完后要及时关闭连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASP编程中15个非常有用的例子1.如何用Asp判断你的网站的虚拟物理路径
答:使用Mappath方法
2.我如何知道使用者所用的浏览器?
答:使用the Request object方法
3.如何计算每天的平均反复访问人数
答:解决方法
显示结果
4.如何显示随机图象
答:
显示
5.如何回到先前的页面答:
或用图片如:
6.如何确定对方的IP地址答:
7.如何链结到一副图片上
8.强迫输入密码对话框
答:把这句话放载页面的开头
9.如何传递变量从一页到另一页
答:用HIDDEN类型来传递变量
10.为何我在asp程序内使用msgbox,程序出错说没有权限
答:由于asp是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你(:) 呵呵) 没有权限。
但是ASP和客户端脚本结合倒可以显示一个对话框,as follows:
11. 有没有办法保护自己的源代码,不给人看到
答:可以去下载一个微软的Windows Script Encoder,它可以对asp的脚本和客户端javascript/vbscript脚本进行加密。
不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有script engine 5(装一个ie5就有了)才能执行。
12. 怎样才能将query string从一个asp文件传送到另一个?
答:前者文件加入下句:Response.Redirect("second.asp?" &
Request.ServerVariables("QUERY_STRING"))
13. global.asa文件总是不起作用?
只有web目录设置为web application, global.asa才有效,并且一个web application的根目录下global.asa才有效。
IIS4可以使用Internet Service Manager设置application setting 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
14. 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
答:Internet Sevices Manager -> 选择default web site ->右鼠键->菜单属性-〉主目录-> 应用程序设置(Application Setting)-> 点击按钮"配置"-> app mapping ->点击按钮"Add" -> executable browse选择\WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 输入htm method exclusions 输入PUT.DELETE 全部确定即可但是值得注意的是这样对htm也要由asp.dll处理,效率将降低
15. 如何注册组件
答:有两种方法,
第一种方法:手工注册DLL 这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server.它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入::\\regsvr32 component_name.dll 例如c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。
然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。
当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名帐号有权限执行这个dll。
特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll
第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。
MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。
在MTS上注册组件的步骤如下:I) 打开IIS管理控制台。
II) 展开transaction server,右键单击"pkgs installed"然后选择"new package" III) 单击"create an empty package" IV) 给该包命名V) 指定administrator帐号或则使用"interactive"(如果服务器经常是使用administrator 登陆的话)VI) 现在使用右键单击你刚建立的那个包下面展开后的"components"。
选择"new then component" VI) 选择"install new component" [b]VII) 找到你的.dll文件然后选择next到完成。
要删除这个对象,只要选择它的图标,然后选择delete. 附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。