仓酷云

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

[学习教程] ASP网页编程之ASP中简略单纯用户会见掌握(1)

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

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

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

x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。   在站点的页面之间传递参数的凡是办法是经由过程URL查询字符串,或经由过程在表单中设置埋没域的办法。别的的两种盛行办法是利用cookie,或利用ASP Session变量。在这篇文章外面,将会商若何利用cookie和session变量来办理用户对站点页面的会见权限。
利用cookie来跟踪会见者
跟踪会见者会见页面的传统办法是利用cookies,cookie就是存储在用户一端盘算机上的一个文本文件,当用户会见响应的域时,这些文件就被送到办事器上。做为根基使用,cookie被看成用户再次会见站点时验证和辨别注册用户的手腕,而不需求他们再次输出注册信息。一样,可使用cookie保留用户上一次会见站点的一些设置。
在ASP中利用cookie十分复杂,可使用Request对象的Cookies纠合取回一切保留在客户真个cookie数值,然后利用Response对象的Cookies纠合创立或修正cookie数值,并保留到客户端。
  象ASP中很多对象一样,一个cookie不但可所以纠合中的一员,还可以自成为纠合。创立一个单一cookie十分复杂,代码以下:
Response.Cookies ("item-name") = "item-value"
创立一个包括多个数值的cookie,代码是:
Response.Cookies ("item-name")("sub-item-name") = "sub-item-value"
设置cookie的域属性、途径属性和利用到期工夫,相干代码是:
Response.Cookies ("item-name").domain = "domain-url"
Response.Cookies ("item-name").path = "virtual-path"
Response.Cookies ("item-name").expires = #date#
上面的例子在阅读器端创立了cookie选择,注重:必需在阅读器输入任何信息前创立cookie,由于它们是HTTP headers的一局部:
〈 %
Response.Cookies("SimpleCookie") = "SimpleExample"
Response.Cookies("CompoundCookie")("Value1") = "Value1" Response.Cookies("CompoundCookie")("Value2") = "Value2"
Response.Cookies("TimedCookie") = "TimedExample"
Response.Cookies("TimedCookie").path = "/" apply to our entire site Response.Cookies("TimedCookie").expires = #10/10/2005#
% 〉
〈 HTML 〉
〈 BODY 〉
...
〈 /BODY 〉
〈 /HTML 〉
读取cookies
经由过程利用request对象并遍历cookie纠合,就能够读取一切cookie的全体内容。假如有些cookie含有多个数值,就经由过程遍历谁人cookie本身纠合来输入。
〈 HTML 〉
〈 HEAD 〉〈 TITLE 〉Reading the Cookie Collection〈 /TITLE 〉〈 /HEAD 〉
〈 BODY 〉
〈 B 〉The contents of your Cookies are:〈 /B 〉〈 P 〉
〈 TABLE CELLPADDING=0 CELLSPACING=0 〉
〈 %
For Each Item in Request.Cookies
If Request.Cookies(Item).HasKeys Then
use another For...Each to iterate this collection
For Each ItemKey in Request.Cookies(Item)
Response.Write Item & "(" & ItemKey & ") = " _
& Request.Cookies(Item)(ItemKey) & "〈 BR 〉"
Next
Else
print the complete cookie string as normal
Response.Write Item & "=" & Request.Cookies(Item) & "〈 BR 〉"
End If
Next
% 〉〈 /TABLE 〉
〈 /BODY 〉
〈 /HTML 〉
下图显示了履行下面代码的了局。然而,当你如今封闭阅读器偏重新翻开时,再运转这些代码,除TimeCookie觉得的一切数值都消逝了。这是由于只要TimeCookie设置了“利用到期工夫”,其他确当阅读器封闭时就主动消逝了。



这里要会商利用cookie保留登录信息的成绩,而且看看在ASP页面间若何使用cookie数值。然而请记住:cookie仅仅被送往上次会见时地点途径不异的站点,也就是说cookie在初始设置时的情况中才干失效。假如没有设置cookie的path属性,它的数值默许就是现在创立时地点的虚拟途径。
这里有个例子描写保留登录信息到cookie中。因为没有设置“利用到期工夫”,所以以后用户会话停止后cookie也就不存在了。
...
Response.Cookies("User")("v1") = "〈 % = Request("v1") % 〉" username Response.Cookies("User")("v2") = "〈 % = Request("v2") % 〉" password Response.Cookies("User").path = "/adminstuff" apply to admin pages
...
如今就能够在用户恳求的每个页面中寻觅这个cookie了,假如没有找到,就重定向用户到登录页面:
...
If (Request.Cookies("User")("v1") 〈 〉 "alexhomer") _
Or (Request.Cookies("User")("v2") 〈 〉 "secret") Then
Response.Redirect "default.asp?nogood=yes&v1=" & Request.Cookies("User")("v1")
End If
...
利用ASP Session变量跟踪会见者
除利用cookie,咱们还可以充实使用ASP中的Session变量。咱们可以在用户Session变量中保留数值,只需session变量仍是激活的,这些保留的数值就能够被使用。凡是,这些session变量将在用户最初一次恳求页面后坚持20分钟的工夫,除非咱们利用Session.Abandon办法明白地释放这些session变量。同时,可使用ASP剧本中的Session.Timeout属性来设置这个过时工夫。
利用session变量跟踪会见者要比利用cookie更平安,由于用户的session变量的内容不会跟着页面恳求而在收集上传递。除初始登录之外,用户名与口令(或任何数值)一向保留在办事器上。咱们可以区分和认证会见者,将他们的登录信息保留在他们本人的Session对象中。当需求对会见者停止验证时,就从他们本人的Session对象中取会这些信息。举个例子,在用户登录后提交的页面中,到场以下代码:
...
Session("UserName") = Request("v1") username from logon dialog form
Session("Password") = Request("v2") password from logon dialog form
...
然后,当需求认证会见者时,就找到这些cookie并从中取回用户名和口令:
...
If (Session("UserName") 〈 〉 "alexhomer") _
Or (Session("Password") 〈 〉 "secret") Then
Response.Redirect "default.asp?nogood=yes&v1=" & Session("UserName")
End If
...

在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
不帅 该用户已被删除
沙发
发表于 2015-2-25 21:31:50 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
金色的骷髅 该用户已被删除
板凳
发表于 2015-3-3 21:50:12 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
飘灵儿 该用户已被删除
地板
发表于 2015-3-11 09:22:58 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
第二个灵魂 该用户已被删除
5#
发表于 2015-3-18 02:28:15 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
兰色精灵 该用户已被删除
6#
发表于 2015-3-25 09:40:30 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
因胸联盟 该用户已被删除
7#
发表于 2015-4-2 21:42:22 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
小女巫 该用户已被删除
8#
发表于 2015-4-4 06:15:10 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
爱飞 该用户已被删除
9#
发表于 2015-4-4 11:50:55 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-4-6 05:11:47 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
莫相离 该用户已被删除
11#
发表于 2015-4-13 00:43:42 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
简单生活 该用户已被删除
12#
发表于 2015-4-16 18:11:43 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
海妖 该用户已被删除
13#
发表于 2015-4-19 21:24:50 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
山那边是海 该用户已被删除
14#
发表于 2015-4-26 01:11:16 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
柔情似水 该用户已被删除
15#
发表于 2015-4-26 15:26:36 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
透明 该用户已被删除
16#
发表于 2015-5-8 13:14:23 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
乐观 该用户已被删除
17#
发表于 2015-5-9 06:11:32 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
再现理想 该用户已被删除
18#
发表于 2015-5-9 06:19:01 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
admin 该用户已被删除
19#
发表于 2015-6-4 15:34:28 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
小妖女 该用户已被删除
20#
发表于 2015-6-18 22:10:19 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 19:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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