仓酷云

标题: ASP网页设计别的的ASP经常使用组件 [打印本页]

作者: 冷月葬花魂    时间: 2015-1-16 22:54
标题: ASP网页设计别的的ASP经常使用组件
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了墨客



  当你用ASP编写服务器端使用程序时,必需依托ActiveX
组件来壮大Web
使用程序的功效,比如:你必要毗连数据库,对数据库举行在线操纵等等。


  上两篇中作者给人人先容了ADRotator、DatabaseAccess
等组件的利用办法,明天我们接着来看看别的的一些ASP经常使用组件。


  1、BrowserCapabilities
组件尽人皆知,并非一切扫瞄器都撑持当今Internet
手艺的各个方面。有一些特征,某些扫瞄器撑持而另外一些扫瞄器却不撑持,如
:ActiveX控件、影象流、静态HTML、Flash和剧本程序等。利用ASP的
BrowserCapabilities组件,就可以够计划“智能”的Web
页,以合适扫瞄器功能的格局出现内容。BrowserCapabilities
组件可以创立一个BrowserType
工具,该工具供应带有客户端收集扫瞄器的功效申明的用户剧本。该组件之以是能辨认客户扫瞄器的版本等信息,次要是由于当客户扫瞄器向服务器发送页面哀求时,会主动发送一个
UserAgentHTTP题目,该题目是一个声明扫瞄器及其版本的ASCII
字符串。BrowserCapabilities组件将UserAgent映照到在文件Browscap.ini
中所说明的扫瞄器,并经由过程BrowserType
工具的属性来辨认客户扫瞄器。若该工具在browscap.ini
文件中找不到与该题目婚配的项,那末将利用默许的扫瞄器属性。若该工具既未找到婚配项且
browscap.ini
文件中也未指定默许的扫瞄器设置,则它将每一个属性都设为字符串
"UNKNOWN"。在默许情形下,browscap.ini文件被寄存在
WINDOWSSYSTEMINERSRV(假如是95/98+PWS4)或NTSYSTEM32INERSRV(假如是NT)
目次中,你能够本人编纂这个文本文件,以增加本人的属性大概依据最新公布的扫瞄器版本的更新文件来修正该文件。请看以下
checkCookie()历程,利用BrowserCap工具的Cookie
属性来判别客户端扫瞄器是不是撑持Cookie,并前往信息:


<%

SubcheckCookie()

SetBrowserCap=Server.CreateObject("MSWC.BrowserType")

ifBrowserCap.Cookie=Truethen

response.write"你的扫瞄器撑持Cookie!"

else

response.write"对不起,你所利用的扫瞄器不撑持Cookie!"

endif

endSub

%>





  有关BrowserCapabilities
组件的具体信息,请拜见静态网站计划十八般技艺--ASP篇(2)。



  2、FileAccess
组件假如你的网龄充足年夜的话,你必定见过“恐龙时期”的CGI
留言簿,那是WEB留言簿最早的雏形。当时候在基于Internet的WEB
使用程序中毗连服务器后端数据库还好不容易,因而留言簿中的汗青信息并非同现在一样存储在后端数据库中。那末这些数据事实是保留在那里的呢?谜底就是“文本文件”,
CGI
程序能够将从客户端吸收的信息写进一个寄存在服务器真个文本文件中,该文件能够是
HTML文件或TXT
等文件,如许就使得程序员们能够欠亨过同数据库毗连就能够将客户信息保留上去,可是写此类
CGI程序甚是啰嗦,上面列出了一个此类程序的最复杂的样本:


#!/usr/local/bin/perl

#PerlLocationoneyourserver

print"Content-type:text/plain

";

if($ENV{REQUEST_METHOD}eq"POST"){

read(STDIN,$buffer,$ENV{CONTENT_LENGTH});

}elsif($ENV{REQUEST_METHOD}eq"GET"){

$buffer=$ENV{QUERY_STIRNG};

}

@pairs=split(/&/,$buffer);

foreach$pair(@pairs){

($name,$value)=split(/=/,$pair);

$value=~tr/+//;

$value=~s/%([a-fA-F0-9][a-fA-f0-9])/pack("C",hex($1))/eg;

$FORM{$name}=$value;}

$file_name="guestbook.txt";#Filename

#详细内容

open(FILE,">>$file_name")||die"翻开文件毛病";

printFILE"纪录工夫":$date

";

printFILE"姓名":$FORM{name}";

printFILE"单元":$FORM{company}
";

printFILE"德律风":$FORM{phone}

printFILE"地点":$FORM{address}
";

printFILE"邮编":$FORM{zip}

printFILE"邮件地点":$FORM{email}
";

printFILE"前往定见":$FORM{content}

close(FILE)


  人人能够感到到,与ASP比拟此类CGI
程序的可读性和易操纵性都较差。那末你必定想问ASP
是不是也能间接在服务器上写文件呢?谜底固然是一定的。可是伶俐的伴侣大概会想到,既然
ASP同WEB
数据库的毗连云云便利,我们又何需再将客户信息写在文本文件中呢,
ASP
的这个功效岂不是多此一举?切实其实,关于那些我们罕见的留言簿、
BBS等WEB
使用程序而言,不管是在程序的实行效力仍是易用性上,我们都不成能再用写文本文件来替换数据库,可是在某些
WEB
使用范畴里写文本文件既是一种标准也是一种绝对数据库而较便利的办法。假如你对
NT较熟习的话,你必定晓得NT
具有十分壮大的平安机制,它能够将几近一切的服务器操纵和毗连的信息主动保留在一个后缀名为
.log的文件中,实在这类手艺也完整能够被使用在WEB
上,用来纪录一些的客户上岸信息。上面的这段程序恰是使用ASP
读写文本文件的特征,在一个WEBBBS
程序中创立主动纪录每一个用户讲话纪录的功效。


<%

Setfs=CreateObject("Scripting.FileSystemObject")

ForReading=1

以只读形式翻开文件。不克不及对此文件举行写操纵。

ForAppending=8

翻开文件并在文件开端举行写操纵。

TristateUseDefault=-2

TristateTrue=-1

TristateFalse=0


-----------写进体系log入手下手--------

servermap=server.MapPath("bslog")

映照体系物理路径

temp=servermap&""&year(date)&month(date)&""

猎取体系物理路径和工夫,并以此作为log文件寄存的物理路径

ifNotfs.FolderExists(temp)then

fs.CreateFolder(temp)

endif

检测是不是存在文件夹,不然主动创立

dimsyslo</p>ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用
作者: 海妖    时间: 2015-1-20 06:07
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者: 活着的死人    时间: 2015-1-28 20:07
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 小妖女    时间: 2015-2-5 22:46
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 蒙在股里    时间: 2015-2-14 00:54
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 深爱那片海    时间: 2015-3-4 03:38
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 老尸    时间: 2015-3-11 16:01
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 再见西城    时间: 2015-3-19 01:42
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 兰色精灵    时间: 2015-3-27 03:08
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 再现理想    时间: 2015-3-27 03:08
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者: admin    时间: 2015-3-27 03:08
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2