仓酷云

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

[学习教程] ASP网站制作之ASP 3.0初级编程(五)

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:28:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了. 另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)编程|初级   1. 操作HTTP报头
咱们已在几处见到ASP若何创立或修正在呼应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和办法可匡助咱们做到一点。上面是一些报头办法:
・ 掌握缓存和无效期。
・ 创立形态和定制的HTTP报头。
・ 指定MIME类型或内容类型。
・ 添加PICS标签。
接上去将扼要地研讨每个方面。可在“Response Object”主页(show_response.asp)上,单击相干属性名或办法名,来反省咱们所说的属性和办法,以下图所示:

1. 缓存和“到期”ASP网页
用户的阅读器和他们和办事器这间的任一代办署理办事器,都可以缓存HTML和用ASP创立的网页。当用户随后恳求页面时,阅读器就发送一个“最新修正”的恳求到办事器(利用一个包括缓存版本的日期的HTTP_IF_MODIFIED_SINCE报头),扣问网页是不是已被修正。
若没有被修正,办事器使用形态码和动静“304 Not Modified”来呼应,阅读器将利用缓存的内容而不会经由过程收集下载一个正本。若已存在已修正的版本,它就会与“200 OK”形态码和动静一道被发送出去。
1) Response.CacheContol属性
其他的一些要素也会影响这一处置进程。但是,任一被网页利用的收集路由内的代办署理办事器(普通位于客户机端),能被经由过程设置Response.CacheControl属性为Private来保持缓存网页。在ASP 3.0中对ASP网页这是缺省的,不必设置。但在网页为一般会见者出格定制时特别有效。这可以禁止其余在统一收集上的用户进入统一网页。当CacheControl的属性值被设定为Public时,答应办事器缓存网页。注重,一些代办署理办事器能够体现得不尽不异,或无视或超出这个报头。
在IE4中,在代办署理办事器缓存可用时,有能够失掉一个子虚的“This page has expired”动静。咱们已供应了一个网页(expiretest_form.asp),可以经由过程本人的代办署理办事器在收集上做实验,来反省这一属性的影响。可以经由过程在“Response Object”主页中单击“Response. CacheControl”链接来显示这个网页。以下图所示:

这一页面提交到expiretest_result.asp网页时,可以设置Response.CacheControl属性,然后在网页中拔出值和剧本被履行的工夫:
<%
If Request.Form(“public”) = “on” Then ‘Cache-Control check box was ticked
Response.CacheControl = “Public”
Else
Response.CacheControl = “Private”
End If
%>
<HTML>
...
Cache-Control is: <B><% = Response.CacheControl %></B><P>
Value in text box is: <B><% Response.Write Request.Form(“textbox”) %>
<%
Response.Write Right(“0” & Hour(Now),2) & “:” & Right(“0” & Minute(Now),_
& 2) & “:” & Right(“0” & Second(Now),2)
%></B>
经由过程单击阅读器上的“Back”和“Forward”,能看到代码是主动履行仍是利用缓存的正本,以下图所示。了局随阅读器的分歧而变更。

2) Response.Expires和Response.ExpiresAbsolute属性
掌握缓存的网页寄存工夫的两个属性为Response对象的Expires和ExpriesAbsolute属性。Response.Expires界说了风页在从缓存区被抛弃前应坚持无效的工夫长度,以创立以来的分钟数模式暗示。ExpiresAbsolute属性为到期工夫设置了一个相对的日期和工夫。
咱们供应一个定名为addheaders_form.asp的例子网页,用于演示若何利用这些属性。在“Response Object”主页中单击对这两种属性的链接,以下图所示:

在这一页面中,可到场本人定制的HTTP报头,并可设置一些影响呼应的HTTP报头的多种属性。在“提交查询内容”按钮上单击时,页面show_headers.asp在前往的数据流中添加所选的报头,然后显示用来完成此操作的代码,显示响应的履行工夫,可用来反省页面是被缓存仍是被再次履行,以下图所示:

show_headers.asp网页中的代码创立和添加HTTP报头,法式以下:
<%
‘Write HTTP headers before any other output
If Request.Form(“expires”) = “on” Then _
Response.Expires = Request.Form(“expires_value”)
If Request.Form(“expiresabs”) = “on” Then _
Response.ExpiresAbsolute = Request.Form(“expiresabs_value”)
If Request.Form(“lastmod”) = “on” Then _
Response.AddHeader “LAST-MODIFIED”, Cstr(Request.Form(“lastmod_value”))
If Request.Form(“pragma”) = “on” Then _
Response.AddHeader “PRAGMA”, CStr(Request.Form(“pragma_value”))
If Request.Form(“refresh”) = “on” Then _
Response.AddHeader “REFRESH”, CStr(Request.Form(“refresh_value”))
If Request.Form(“addheader”) = “on” And Len(Request.Form(“addheader_name”)) Then _
Response.AddHeader CStr(Request.Form(“addheader_name”)), _
CStr(Request.Form(“addheader_value”))
If Request.Form(“status”) = “on” Then _
Response.Status = Request.Form(“status_value”)
%>
<HTML>
...
... Show code and execution time
...
其他局部仅仅是显示已被履行的代码和履行工夫。读者会注重到包括在网页中的定制的报头“PRAGMA”(至今咱们还没会商过)。一些(先前的)代办署理办事器利用它作为网磁是不是应被缓存的唆使。缺省是网页被缓冲,除非承受到HTTP报头“PRAGMA=NO-CACHE“。
2. 创立形态码和定制的HTTP报头
可以使用先前在实例网页中所看到的Response对象的AddHeader办法来创立本人的形态码或本人喜好的定制的报头。这一办法需求两个参数:HTTP报头称号或一个包括其值或分派给它的值的字符串。作为一个例子,上面的代码在页面中添加REFRESH报头:
Response.AddHeader “REFRESH”, ”60;URL=newpath/newpage.asp”
这同等于客户机端<META>元素:
<META HTTP-EQUIV=”REFRESH”, “60;URL=newpath/newpage.asp”
换句话说,也可共同Status属性利用AddHeader办法使阅读器载入一个新的页面:
Response.Status = “302 Object Moved”
Response.Addheader “Locatio</p>  ASP脚本是采用明文(plain text)方式来编写的。
海妖 该用户已被删除
沙发
 楼主| 发表于 2015-3-4 23:31:54 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
再现理想 该用户已被删除
板凳
发表于 2015-3-11 21:26:55 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
灵魂腐蚀 该用户已被删除
地板
发表于 2015-3-19 14:12:57 | 只看该作者
那么,ASP.Net有哪些改进呢?
活着的死人 该用户已被删除
5#
发表于 2015-3-20 18:15:55 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
老尸 该用户已被删除
6#
发表于 2015-3-21 10:17:27 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
飘灵儿 该用户已被删除
7#
发表于 2015-4-6 20:08:53 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
8#
发表于 2015-4-6 22:11:14 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
若天明 该用户已被删除
9#
发表于 2015-4-11 08:11:28 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
因胸联盟 该用户已被删除
10#
发表于 2015-4-21 05:28:46 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-25 14:41:11 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
不帅 该用户已被删除
12#
发表于 2015-4-26 21:02:30 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
透明 该用户已被删除
13#
发表于 2015-4-29 08:50:03 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
变相怪杰 该用户已被删除
14#
发表于 2015-5-1 09:14:27 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
柔情似水 该用户已被删除
15#
发表于 2015-5-4 16:06:04 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
小妖女 该用户已被删除
16#
发表于 2015-6-5 16:40:15 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
再见西城 该用户已被删除
17#
发表于 2015-7-10 17:27:30 | 只看该作者
掌握asp的特性而且一定要知道为什么。
若相依 该用户已被删除
18#
发表于 2015-7-21 08:46:02 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
山那边是海 该用户已被删除
19#
发表于 2015-7-24 00:47:58 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
小魔女 该用户已被删除
20#
发表于 2015-7-26 02:51:57 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-28 21:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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