仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 401|回复: 9
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP的内置工具Server

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全  Server工具供应对服务器上的办法和属性的会见,个中年夜多半办法和属性是作为有用程序的功效服务。(IISHELP翻译)有了Server工具,你就能够在服务器上启动ActiveX工具例程,并利用ActiveServer服务供应象HTML和URL编码如许的函数。
  一,Script.ScriptTimeout
  在剧本运转凌驾一段工夫以后,即作超时处置。服务器一样平常的默许剧本运转工夫是90秒。你能够从“Internet信息服务”中“默许Web站点”的属性弹出框中看出,你也能够本人设定。



  呵呵,下面的可不是,900秒了。应当是“主目次”标签中的“设置”对话框中,WINXP一样。






在了解剧本运转工夫之前,先来看一个程序,次要功效就是举行盘算网页实行工夫的。
<scriptlanguage=vbs>
startime=timer()
//以下为网页内容
fori=1to5000step20
document.write("<hrwidth="&int(500+i)&">")
next
//停止工夫
endtime=timer()
document.write("页面实行工夫:"&FormatNumber((endtime-startime)*1000,3)&"毫秒")
</script>
固然对应的ASP也就是看到很多站点都有的页面实行工夫显现
1,time.asp
<%startime=timer()%>
<ahref=#bot>到上面看实行的工夫</a>
<%
fori=1to5000
response.write("<hrwidth="&int(500+i)&">")
next
%>
固然两头还能够增加别的内容。<br>
<%endtime=timer()%>
<aname=bot></a>
<%=FormatNumber((endtime-startime)*1000,3)%>毫秒
那假如下面的程序酿成fori=1to5000000
呵呵,是否是呆板快反响不外来的感到,那这个就是剧本的实行工夫了。
为了让程序能很好的实行,就该把剧本实行工夫放长了。
怎样放长?把默许的改?呵呵,固然不是:)
<%Server.ScriptTimeout=110%>
工夫的设定固然如果比默许90秒年夜的,如今的代码就是:指定服务器处置剧本在110秒后超时。
另有,剧本工夫切实其实定要看本身的程序了,一样平常情形100秒摆布也差未几了,即便能实行出来,大概寓目网页的人早就把它叉叉了。
以上的ScriptTimeout就是Server工具独一属性了二,Server.HtmlEncode
HtmlEncode就是Server工具的个中一个办法了。它同意你对特定的字符串举行HTML编码,固然HTML能够显现年夜部分你写进ASP文件中的文本,可是当你必要实践包括HTML标志中所利用的字符,就会碰到成绩。这是由于,当扫瞄器读到如许的字符串时,会试图举行注释。
仍是看一个程序,我想在页面显现“”如许的代码(附:是空格的代码)那末当我举行誊写的时分你会发明,扫瞄器已给我注释了的。
空格的代码是:
你会发明下面的代码都被实行了。
以是,为了要让一些特别代码可以显现,就使用该办法了。
2,htmlencode.asp
<%Response.write("这是没有接纳HTMLEncode办法的测试。<br>这里就另起一行,申明代码被实行。")%>
<hr>
<%Response.writeServer.HtmlEncode("这是对HTMLEncode办法的测试。<br>这里应当不会另起一行,也就是代码没有被实行了。")%>
这在很多网站,论坛都存在的一些BUG,不信你能够到各论坛尝尝:敲进就是没有,急逝世你呢:)固然HtmlEncode只是个中的一个缘故原由,最次要的仍是UBB代码的转换。不外关于这点我也已调试办理了。
三,Server.UrlEncode
正如HtmlEncode办法使客户能够将字符串翻译成可承受的HTML格局一样,Server工具的UrlEncode办法则是依据URL划定规矩对字符串举行准确编码,当字符串数据以URL的情势传送到服务器时,在字符串中不同意呈现空格,也不同意呈现特别字符。为此,假如你但愿在发送字符串之行进行URL编码,可使用Server.URLEncode办法。
为便利起见,我们先看为处置送交,然后处置承受的效果。
3,urlencode.asp
<%filepath=request.servervariables("script_name")%>
承受URL中的值(没有处置承受值,发明值被注释了):<%=request.querystring("webjx")%>
<formaction="<%=filepath%>">
你能够输出“<hr&gt”等代码看看:<inputtype="text"size="20"name="webjx"><inputtype="submit">
</form>
承受URL中的值(举行了urlencode编码,不会实行):<%=Server.URLEncode(request.querystring("webjx"))%>
固然你会发明,固然不实行了,但会呈现“<”酿成了“%3C”,“>”酿成了“%3E”,那这就是由于没有在发送之前处置。不外,我们还能够经由过程Replace函数将这些特别代码再逆转过去。
4,vurlencode.asp
<%
functiontihuan(what)
tihuan=what
ifnotisnull(what)then
tihuan=replace(tihuan,"%3C","<")
tihuan=replace(tihuan,"%3D","=")
tihuan=replace(tihuan,"%3E",">")
tihuan=replace(tihuan,"%26","&")
tihuan=replace(tihuan,"%20","")
tihuan=replace(tihuan,"%3B","&#59;")
tihuan=replace(tihuan,"%22",""")
tihuan=replace(tihuan,"%2B","+")
tihuan=replace(tihuan,"%2F","/")
endif
endfunction
%>
<%filepath=request.servervariables("script_name")%>
承受URL中的值(没有处置承受值,发明值被注释了):<%=request.querystring("webjx")%>
<formaction="<%=filepath%>">
你能够输出“<hr&gt”等代码看看:<inputtype="text"size="20"name="webjx"><inputtype="submit">
</form>
承受URL中的值(举行了urlencode编码,不会实行):<%=tihuan(Server.URLEncode(request.querystring("webjx")))%>
呵呵,实在下面我是做的无勤奋啦,真正应当是在发送之前就该处置下的,不外对进修该办法的举例确是个好办法:)
四,Server.MapPath
MapPath办法,详细的就是将指定的绝对或假造路径,映照到服务器上响应的物理目次上。
用法,也就是语法了,以下:
Server.MapPath(Path)
Path指定要映照物理目次的绝对或假造路径。若Path以一个正斜杠(/)或反斜杠()入手下手,则MapPath办法前往路径时将Path视为完全的假造路径。若Path不是以斜杠入手下手,则MapPath办法前往同本文件中已有的路径绝对的路径。这里必要注重的是MapPath办法不反省前往的路径是不是准确或在服务器上是不是存在。
固然这能够和Request.ServerVariables连起来利用看看。
5,mappath.asp
Request.ServerVariables("APPL_PHYSICAL_PATH"):<%=Request.ServerVariables("APPL_PHYSICAL_PATH")%><p>
Request.ServerVariables("PATH_INFO"):<%=Request.ServerVariables("PATH_INFO")%><p>
Request.ServerVariables("SCRIPT_NAME"):<%=Request.ServerVariables("SCRIPT_NAME")%><p>
Request.ServerVariables("URL"):<%=Request.ServerVariables("URL")%><p>
Request.ServerVariables("PATH_TRANSLATED"):<%=Request.ServerVariables("PATH_TRANSLATED")%><hr>
下面都是经由过程ServerVariables提获得出的值,上面就来使用mapath把一个假造地点变化为实践的物理地点。<p>
Server.MapPath(Request.ServerVariables("URL")):<%=Server.MapPath(Request.ServerVariables("URL"))%><p>
大概本人任意写个不存在的路径,一样可以实行<p>
Server.MapPath("webjx.asp"):<%=Server.MapPath("webjx.asp")%><p>
再来个“/”的<p>
Server.MapPath("/webjx.asp"):<%=Server.MapPath("/webjx.asp")%><br>
Server.MapPath("webjx.asp"):<%=Server.MapPath("webjx.asp")%><p>
你会发明物理地点变化到IIS默许根目次上面了。
这就是如6to23之类的站点mappath的成绩地点。仍是假造主机好,即便是根,也仍是本人站点的默许寄存节点根。
注重测试的地点和根目次下的地点,对应的是统一文件夹(这就是假造主机),6to23之类是不会不异的。
有此些懂得,对路径的处置应当要很多多少了,再前往我的站点,看看我对数据库的mappath路径的处置办法,信任又是一个了解条理了。
五,Server.CreatObject
Server.CreateObject这个办法生怕是ASP中最为有用,也是最微弱的功效了。它可用于创立已注册到服务器上的ActiveX组件实例。这是一个十分主要的特征,由于经由过程利用ActiveX组件可以使你轻松地扩大ActiveX的才能,恰是利用了ActiveX组件,你能够完成相当主要的功效,比如数据库毗连、文件会见、告白显现和其他VBScript不克不及供应或不克不及复杂地依托独自利用ActiveX所能完成的功效。也恰是由于这些组件才使得ASP具有了壮大的性命力。
恩,那明天就次要把Server工具进修了下,感到好象是每一个都有效的,主要啊。另有,必要申明的,假如您从本处转载,发明和根源件有不对,好比代码、&lt、&gt等等,基本就是被实行了的。都申明您的站点存在着这些成绩。
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。
活着的死人 该用户已被删除
沙发
发表于 2015-1-19 21:48:19 来自手机 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
海妖 该用户已被删除
板凳
发表于 2015-1-19 21:48:20 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
乐观 该用户已被删除
地板
 楼主| 发表于 2015-1-25 13:29:20 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
飘灵儿 该用户已被删除
5#
发表于 2015-2-2 22:14:41 | 只看该作者
那么,ASP.Net有哪些改进呢?
深爱那片海 该用户已被删除
6#
发表于 2015-2-8 12:30:09 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
谁可相欹 该用户已被删除
7#
发表于 2015-2-25 13:18:12 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
山那边是海 该用户已被删除
8#
发表于 2015-3-7 21:05:18 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
莫相离 该用户已被删除
9#
发表于 2015-3-15 13:55:27 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
老尸 该用户已被删除
10#
发表于 2015-3-22 01:24:04 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 01:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表