仓酷云
标题:
ASP教程之ASP使用法式设计的Web形态办理剖析
[打印本页]
作者:
因胸联盟
时间:
2015-2-3 23:42
标题:
ASP教程之ASP使用法式设计的Web形态办理剖析
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天web|法式|设计 很多开辟人员把使用法式传送到Web之前历来没思索形态的概念。正如后面说过的,Web是一个无形态的情况。因而应当切磋一下形态是甚么,懂得可以防止发生成绩的办法。
形态的正确界说
在单用户法式中,创立一个可履行的使用法式时,例如利用VB创立一个.exe文件,可以声明一个全局(或Public)变量,然后在代码中任何中央可对其停止会见。在使用法式运转的一切时辰,时辰值一向是无效,而且是可会见的。
关于一个传统的客户机/办事器处理计划,例如一个基于客户机的使用法式对一个基于办事器的数据库引擎停止会见的体系,每一个客户端创立了一个与办事器和数据库使用法式的毗连。这类毗连凡是是经由过程验证用户的办法来创立的。
验证进程是典范的辨认用户身份的进程,经由过程一个用户名和口令组合来证实是不是为正当的用户。
一旦经由过程验证,在客户端和基于办事器的使用法式之间就创立了毗连,该毗连在用户利用该使用法式的一切工夫内一向坚持无效。当用户注册到酵Windows 2000办事器上时,这一切便会产生。不管什么时候,办理员利用“Active Directory Users and Computers”适用法式(单击“Start”菜单的“Administrative Tools”选项中的“Directory Management”项)都可以察看到举动的用户毗连。这个进程在很多体系中都不异,例如Microsoft SQL Server。
这类永世的毗连意味着:当用户发送指令或恳求到办事器上时,办事器会很轻易地辨认每一个用户。一样办事器的呼应或任何其他用户的信息也能直接前往用户。要进一步指出的是办事器可以对照轻易地存储与每一个客户相干的值和信息,并在需求的时分供应给响应的客户。固然,办事器使用法式可以具有主全局变量,以便于用户在需求的时分停止会见。
这类辨认每一个客户真个恳求并在内存中保留相干用户的值的才能组成形态。可以以为形态代表使用法式的值、情况和用户的外部变量,并贯串于使用法式和用户毗连的全部进程。
形态的主要性
假如盘算创立与用户停止交互的基于Web站点的使用法式,而不是仅显示自力页面的Web网站,必需可以为每一个用户供应自力的形态。这能够只是记住他们的名字,也能够要为每一个用户存储对象援用或分歧的纪录集。假如不克不及如许做,ASP网页就不克不及做更多的工作,由于该页面履行完成时,页面中的变量和其他相干材料都损坏了。录用户恳求下一个页面时,这个页面供应的一切信息将全体得到。
因而,需求找到一种办法,保留每一个会见者的形态。可以存储对一切用户而言的全局值长短常主要。例如,一个Web作风的会见或页面点击计数器,它不为每一个用户供应本人的计数器,用户们凡是想要看到会见者的总数,而不单单是他们本人会见的次数。会见者的数量需求与使用法式级形态一同存储,而不是与用户级形态一同存储。
这不是一个刚呈现的成绩,自从商用站点占有了Web,就已存在,乃至更早些。所以已有很多在Web上存储形态的传统的处理计划。Web站点办理员想要懂得会见者之前是不是曾会见过他们的网站,假如会见过,会见过量少次?还按期会见其他甚么网站等。如许可以更好地制订其告白方针。一切这些都请求一种办法来存储有关用户在会见时所发生的网页恳求或每次会见间的信息。
在Web上创立形态
在页面恳求和站点会见之间供应形态经常使用的办法是经由过程cookie。咱们在后面的章节中已看到,若何在客户真个盘算机中寄存响应的值,这些值与每一个页面恳求一同发送给对此cookie无效的域。经由过程用ASP反省和更新cookie,在某种水平上可以坚持一个形态。可使用所包括的信息来辨认用户,然后把用户毗连到一个已存储响应值的纠合。
例如,可以检测一个用户恳求是不是包括一个站点指定的cookie。假如不包括,则为该用户分派一个某品种型的标识,指明一个数目,并存储在带有一个长无效期的cookie中。今后该用户对这个站点的每次会见,都可以检测到cookie并更新所包括的信息。同时可以搜集有关会见的次数和延续工夫的数据,并存储在办事器上,以备未来利用。
然而,假如用户转移到另外一个盘算机,或删除cookie,或他们的阅读器回绝吸收发送给他们的cookie,会产生甚么工作呢?在这类情形下,不克不及保持形态,由于下一次不克不及辨认他们如今,Web上有很多cookie,大多半人会承受它们,而不加理睬。假如翻开阅读器中的“Warn before accepting cookies”选项,接着遨游几个大的站点,你就会分明个中的含义。
1. 匿名会见者与受权的会见者
假如以为cookie是一个有点轻率的处理计划,可使用更直接的办法。很多站点采取的一种办法是,在会见者点击一个站点时,或点击一个请求验证身份的页面时,弹出一个停止登录的对话框。会见者起首必需停止注册,取得一个某品种型的用户名/口令的组合,才干答应会见响应的站点或页面。
为了证明会见者是一个已知的而且正当的用户,在会见者的盘算机上放置的一个cookie,它或保留注册的具体数据,或是一把标明已验证过身份的“钥匙(key)”。同时,会见者的具体数据永世地保留在办事器上,筹办再次会见时利用。假如会见者的阅读器中有了如许一个cookie,他就能够自在地会见该网站,由于已验证过了。
假如cookie没有无效刻日(Expires),cookie的值在封闭阅读器时主动消逝,鄙人一次会见时必需从头注册和再次验证。固然,假如回绝吸收cookie或删除cookie,就只能再次失掉注册对话框。如许的话,假如不被辨认,就不克不及会见该站点。
经由过程强迫用户就像注册到本人的收集一样注册到Web办事器,Windows 2000全体平安功能为IIS供应更强和更平安的验证功效。然而,这只能与Internet Explorer 3.0和之上版本的阅读器一同任务。IIS也能够利用BASIC验证答应非Microsoft阅读器注册Web办事器。
2. 不再有匿名会见者
在IIS Web办事器上利用ASP时,除非用户分开该站点到另外一个网站或封闭了阅读器,不然能在以后会话中跟踪用户。在本章的前面,将看到若何利用这个功效来标识一个会见者、存储用户的当地信息和供应形态。上面与已会商过的处理计划比拟较,会商其任务体例。
ASP和IIS配合提出了一个用户会话的概念,经由过程ASP Session对象停止交互。在每一个会见者第一次会见办事器上的一个ASP网页时,为他创立一个新的而且自力的会话对象,分派给该会话一个会话标识号,并把包括会话标识符的特别加密版本的一个cookie发送给客户。
cookie的途径(参看后面的章节有关cookie属性的描写)设置为运转在办事器上的ASP使用法式的根途径。这极可能上缺省的Web网站的根目次(即“/”),但也能够会是别的一个值(稍后会看到)。在cookie中没有供应Expires值,所以当阅读器封闭时,cookie值也就消逝。
每当这个用户会见这个ASP网页,ASP城市查找这个cookie。定名为ASPSESSIONIDxxxxxxxx,个中每一个x是一个字母字符。从第2章图2-7所示的ServerVariables纠合,可以在HTTP报头中看到它。
然而,这个cookie不会呈现在 Request.Cookies或Response.Cookies纠合中,ASP把它埋没起来,但仍保留在阅读器上。关于每一个ASP网页恳求,ASP都要检查该值。这个cookie包括的值,指了然这个用户的会话。因而,响应的Session对象(该对象在内存中已被处置,而且一向包括一切在前一页面恳求过程当中停止操作的值)的内容可以移交给ASP网页中的剧本。
固然,如前所述,假如客户阅读器不吸收或不撑持这些cookie,这个处置将掉败。在这类情形下,不克不及创立ASP会话,对这个会见者的形态也不停止主动保护。
</p> 使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
作者:
分手快乐
时间:
2015-2-4 06:06
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
作者:
若相依
时间:
2015-2-5 09:10
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者:
活着的死人
时间:
2015-2-6 01:48
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者:
变相怪杰
时间:
2015-2-14 21:16
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者:
飘飘悠悠
时间:
2015-3-1 01:30
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者:
简单生活
时间:
2015-3-8 17:47
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者:
再现理想
时间:
2015-3-12 07:38
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者:
小妖女
时间:
2015-3-19 15:11
不能只是将它停留在纸上谈兵的程度上。
作者:
乐观
时间:
2015-3-28 17:24
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
作者:
透明
时间:
2015-4-8 15:02
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者:
莫相离
时间:
2015-4-16 19:55
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者:
仓酷云
时间:
2015-5-8 15:28
不能只是将它停留在纸上谈兵的程度上。
作者:
精灵巫婆
时间:
2015-6-9 15:37
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者:
谁可相欹
时间:
2015-6-26 14:10
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者:
若天明
时间:
2015-6-28 21:42
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者:
蒙在股里
时间:
2015-6-29 12:15
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者:
深爱那片海
时间:
2015-7-4 07:31
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者:
金色的骷髅
时间:
2015-7-5 01:09
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2