仓酷云

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

[学习教程] ASP网页设计深切了解ASP中FSO的奇异功效

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

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

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

x
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。fso       在ASP中,FSO的意思是File System Object,即文件体系对象。

 咱们将要把持的盘算机文件体系,在这里是指位于web办事器之上。所以,确认你对此具有适合的权限。幻想情形下,你可以在本人的机械上创立一个web办事器,如许就可以便利地停止测试。假如运转于Windows平台,请试一试微软公司的收费团体Web办事器PWS。

 FSO 模子对象

 Drive Object:驱动器对象 供存取磁盘或收集驱动器
 FileSystemObject Object:文件体系对象 供存取盘算机的文件体系
 Folder Object:文件夹对象 供存取文件夹的一切属性
 TextStream Object:文本流对象 供存取文件内容

 你可使用下面的对象做盘算机上的任何工作,也包含损坏举动 ;-( 所以,请当心利用FSO。在web情况中,存储信息长短常主要的,好比用户信息,日记文件,等等。FSO供应了一个壮大且复杂的办法高效力地保留数据。在这篇文章外面,侧重会商FileSystemObject和TextStream对象。

 FSO由微软公司供应撑持,关于非Windows体系,也许不克不及再利用ASP。

 怎样利用FSO?

 为了利用FSO来履行一切的任务,起首要创立对象,代码就象上面如许:

< % Set fso = Server.CreateObject("Scripting.FileSystemObject")
% >

 如许就创立了FSO而且付与变量fso,接着就能够利用熟习的object.method语法来履行文件体系的操作〔检查Visual Basic文档,获得更多的关于对象和对象导游编程的常识〕。在这里,咱们可使用fso.method 或 fso.property,这些将鄙人面的例子中看到。

 FSO模子位于由微软供应的剧本运转工夫DLL文件中,它是scrrun.dll。你可以在任何使用法式中援用这个DLL文件,好比MS Access,Word。 就是说,并不是仅仅限制在ASP中使用它。

 这里有一个扼要的FSO办法列表:

FSO办法   
CopyFile 拷贝一个或多个文件到新途径  
CreateTextFile 创立文件而且前往一个TextStream对象  
DeleteFile 删除一个文件  
OpenTextFile 翻开文件而且前往TextStream对象,以便读取或追加

 假如想懂得完全的FSO办法与属性,请查阅微软MSDN。上面来看几个例子。

 假定你想创立一个复杂的留言簿,你可以创立一个数据库,在个中存储用户的信息。但是,假如其实不需求数据库的壮大功效,利用FSO来存储信息将节俭你的工夫和金钱。而且,一些ISP或许限制了web上的数据库使用。

 假定你在一个表单中搜集了一些用户信息,这里是一个复杂表单HTML代码:

< html>
< body>

< form action="formhandler.asp" method="post">
< input type="text" size="10" name="username">
< input type="text" size="10" name="homepage">
< input type="text" size="10" name="Email">
< /form>
< /body>
< /html>  

 再看看formhandler.asp中处置表单的代码:

< %
'' Get form info
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")

'' create the fso object
Set fso = Server.CreateObject("Scripting.FileSystemObject")

  迄今为止,还没有新颖的器材,不过是获得表单域的值而且赋值到变量。上面呈现了风趣的局部 - 写文件:

path = "c: emp est.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3

'' open the file
set file = fso.opentextfile(path, ForAppending, TRUE)

'' write the info to the file
file.write(strName) & vbcrlf
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf

'' close and clean up
file.close
set file = nothing
set fso = nothing  

 回忆一下,OpenTextFile办法前往一个TextStream对象,它是FSO模子中的别的一个对象。TextStream对象提醒了操作文件内容的办法,好比写、读一行、跳过一行。VB常量vbcrlf发生一个换行符。

 在OpentextFile的号令参数中界说了TRUE,这就告知了体系,假如文件不存在,就创立它。假如文件不存在,而且没有界说TRUE参数,就会失足。

 如今转到目次c: emp,翻开test.txt,你可以看到以下的信息:

User''s name
User''s home page
User''s email  

 固然,这些单词可以被输出在表单中的任何内容所交换。

 如今已有了一些用户信息保留在文件中,就像一个复杂的数据库。假定有一个用户想懂得一切的会见者,就要从挂号的信息平分离出相干局部,由于没有象数据库一样具有布局化的列。

 咱们晓得,在所创立的文件中,第1行是用户名,第2行是他们的主页,第3行是他们的电子邮件地址。随后挂号的用户也是依照如许的布局存储他们的信息,所以每3即将包括一个用户的挂号信息。晓得了这些,就能够编写上面的代码来显示信息:

< %
'' create the fso object
set fso = Server.Createobject("Scripting.FileSystemObject")
path = "c: emp est.txt"

'' open the file
set file = fso.opentextfile(path, 1) < -- For
reading  

 接着,剖析每行,而且格局化数据:

do until file.AtEndOfStream
Response.write("Name: " & file.ReadLine & " ")
Response.write("Home Page: " & file.ReadLine & " ")
Response.write("Email: " & file.ReadLine & "< p>")
loop

'' close and clean up
file.close
set file = nothing
set fso = nothing
%>  

 这里仅仅做了一个十分复杂的输入,然而你可以依据情形包括表格或DHTML表单信息。

 假如已准确地创立并写入了文件,下面的小小轮回将适合地列出数据库中的每个人的信息。ReadLine办法读取1行内容,直到碰到换行符,随后的ReadLine挪用将读取下一行。AtEndOfStream是TextStream对象的属性,它告知咱们什么时候碰到文件的尾部。

 假定因为某种缘由,咱们没有准确地构成文件,假如一个用户只要2行信息而不是3行,那末就会发生一些毛病。咱们这里的轮回取回文件中的下3行信息,假如没有3行多的信息,就将呈现以下的毛病信息:

Server object error ''ASP 0177 : 800a003e''  
  
 所以,必定要添加一些毛病处置代码,以防文件中拔出了过剩的行或少了需要的行信息。

 下面会商了根基常识,然后说说权限允许的成绩。FSO以创立它的用户帐户权限运转,换言之,假如有人从Internet上会见你的页面,那末这个internet帐户就创立FSO。假如以administrator的身份登录盘算机,而且登录页面,那末administrator帐户就创立了FSO。这长短常主要的,由于必定的帐户具有必定的权限,而且FSO需求一些权限从而能完全的履行功效。

 internet帐户(IUSER_MachineName,MachineName是办事器的名字)普通只具有读权限,这意味着用户将不克不及写入留言簿文件。但是,有几个选择可以绕过这个成绩。

 起首,也是很坚苦的,是请求用户在填写留言簿前登录到办事器。但是,留言簿的要点是从匿名用户处搜集信息,假如请求用户登录,就必需要晓得他们是谁。因而,跳过这个选择,看下一个。

 第2个办法是创立一个目次或文件,IUSER_MachineName用户对此有写权限。如许做能够开放了一些潜伏的平安破绽,由于任何晓得准确目次并具有必定web技能的人就可以在办事器上填充内容。这是一个很严重的忌讳。所以你必需确认在埋没的场合保留了这些可写目次的信息,而且尽量地将这些目次设置在web目次布局之外(好比在Windows下,这是一个不在inetpub目次下的一个目次)。

 你或许想:好,如今我晓得若何写入文件了。但能做到更多一些吗?上面来试一试为web站点创立一个搜刮功效。

 创立搜刮引擎的关头是递归。次要地,编写一段代码搜刮目次下的文件,然后对一切的目次轮回履行一样的代码。由于不克不及肯定总共有几何个子目次,所以必需一遍又一遍地履行搜刮代码,直到停止。递归挪用十分好!

 上面来创立搜刮页面。假定已创立了一个HTML表单,用户在个中输出一个搜刮字符串。

Dim objFolder
Dim strSearchText
Dim objFSO

strSearchText = Request.Form("SearchText") < -- The search string
</p>  对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-2-16 01:14:51 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-3-1 06:57:53 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
深爱那片海 该用户已被删除
地板
发表于 2015-3-10 22:03:54 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
再现理想 该用户已被删除
5#
 楼主| 发表于 2015-3-17 11:09:23 | 只看该作者
掌握asp的特性而且一定要知道为什么。
透明 该用户已被删除
6#
发表于 2015-3-18 17:36:07 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-23 18:18:27 | 只看该作者
那么,ASP.Net有哪些改进呢?
爱飞 该用户已被删除
8#
发表于 2015-3-28 16:20:15 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
admin 该用户已被删除
9#
发表于 2015-3-31 11:09:09 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
小女巫 该用户已被删除
10#
发表于 2015-4-2 11:21:20 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
第二个灵魂 该用户已被删除
11#
发表于 2015-4-4 09:35:21 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
精灵巫婆 该用户已被删除
12#
发表于 2015-4-10 19:51:23 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
飘飘悠悠 该用户已被删除
13#
发表于 2015-4-11 11:29:27 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
冷月葬花魂 该用户已被删除
14#
发表于 2015-4-13 06:20:29 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
若相依 该用户已被删除
15#
发表于 2015-4-22 23:40:07 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
谁可相欹 该用户已被删除
16#
发表于 2015-5-11 04:21:12 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
小魔女 该用户已被删除
17#
发表于 2015-6-4 16:58:26 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
不帅 该用户已被删除
18#
发表于 2015-7-11 21:22:24 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
莫相离 该用户已被删除
19#
发表于 2015-7-13 00:45:11 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
兰色精灵 该用户已被删除
20#
发表于 2015-7-18 21:36:41 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-29 07:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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