仓酷云

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

[学习教程] ASP网页设计ASP无组件上传・从道理分析到理论(下)...

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;上传|无组件第七天:完成附加功效

明天,我们就来完成今天提出的办法和属性,来完美我们的文件上传类。之前没有太注重的功能成绩,这一次也要完全的办理:
1。一切的变量先声明,后利用;
2。设置类的teminate办法;
3。简化有些中央的写法,注重细节。
我们的准绳,就是先完成,后优化。固然,象变量声明如许的器材,假如程序很年夜,最好仍是在写程序的时分一次过。假如写完了才加,能够在页面开首加上optionexplicit(强迫变量声明),然后测试一切的办法和属性,直到没有毛病为止。

别的,非常代码我们也收拾一下:
代码类名范例形貌
==============================================================================
11FormElementIndexOutOfBound表单位素子集索引越界
12FormElementIllegalArgument不法的表单位素子集索引
21UploadRequestIndexOutOfBound文本元素索引越界
22UploadRequestIllegalArgument不法的文本元素索引
23UploadRequestIndexOutOfBound文件元素索引越界
24UploadRequestNullRef文件元素索引不存在
25UploadRequestIllegalArgument不法的表单位素索引
26UploadRequestTooLargeFile文件%fldname尺寸过年夜
27UploadRequestTooLargeFiles文件总尺寸过年夜
28UploadRequestInvalidFileType文件%fldname范例毛病

好了,上面的,就是我们的全部完成了:
1。com.2yup.util.uploadrequest.class
<%

没有版权,接待拷贝或是作为贸易用处。
假如要转载,能说明出处最好,我们会很感谢您的撑持;假如不便利,就算了,呵呵。
感激列位常来2yup的网友(良多名字,写不下了,呵呵)临时热忱的撑持,
你们是我耐久的动力。

关于这个组件的具体信息,和编程的全历程,能够来
http://www.2yup.com/asp
的文档中央看个事实。有任何疑问,接待来我们的论坛会商,或是给我发email:
miles2yup@hotmail.com
----Miles[YupStudio]^^


=========================================================================
这个,是存储文本域信息的的类。每个name的文本域,对应一个如许的类。
=========================================================================
ClassFormElement

m_开首,暗示类成员变量。
Privatem_dicItems

PrivateSubClass_Initialize()
Setm_dicItems=Server.CreateObject("Scripting.Dictionary")
EndSub

setnothing时引发。清算资本
PrivateSubClass_Terminate()
Setm_dicItems=Nothing
EndSub

count是我们这个类的一个只读属性
PublicPropertyGetCount()
Count=m_dicItems.Count
EndProperty

Value是一个默许属性。目标是失掉值
PublicDefaultPropertyGetValue()
Value=Item("")
EndProperty

Name是失掉文本域称号。就是<inputname=xxx>里的xxx
PublicPropertyGetName()
DimKeys
Keys=m_dicItems.Keys
Name=Keys(0)
Name=left(Name,instrrev(Name,"_")-1)
EndProperty

Item属性用来失掉重名表单域(好比checkbox)的某一个值
PublicPropertyGetItem(index)
DimItems,i
IfisNumeric(index)Then是数字,正当!
Ifindex>m_dicItems.Count-1Then
err.raise11,"IndexOutOfBound","表单位素子集索引越界"
EndIf
Items=m_dicItems.Items
Item=Items(index)
ElseIfindex=""Then没给值?那就前往一切的!逗号分开
Items=m_dicItems.Items
Fori=0tom_dicItems.Count-1
Ifi=0Then
Item=Items(0)
Else
Item=Item&","&Items(i)
EndIf
Next
Else给个一个不是数字的东东?堕落!
err.raise12,"IllegalArgument","不法的表单位素子集索引"
EndIf
EndProperty

PublicSubAdd(key,item)
m_dicItems.Addkey,item
EndSub

EndClass

=========================================================================
这个,是存储文件域信息的的类。每个name的文件,对应一个如许的类。
=========================================================================
ClassFileElement

m_开首,暗示类成员变量。
Privatem_strName
Privatem_bData
Privatem_bRawData
Privatem_strContentType
Privatem_strFilePath
Privatem_strFileName
Privatem_lSize

Data是一个默许属性。目标是失掉值
PublicDefaultPropertyGetData()
Data=m_bData
EndProperty

这个属性很为难――stream工具write办法请求的数据范例是
"AVariantthatcontainsanarrayofbytestobewritten."
可是我却没法从一个二进制串中失掉这个数据范例!切实其实很奇异。以是,我盘算
利用切合请求的原始数据m_bRawData。可是,vbs的类功效少得不幸,既不克不及传送
以后工具的援用往返访UploadRequest的m_bRawData也不克不及用innerclass的方
法举行构造。为了坚持办法的简便,以是加了这个只写的RawData属性。
这个中央很值得改善。
PublicPropertyLetRawData(data)
m_bRawData=data
EndProperty

Name是失掉文件域称号,就是<inputtype=filename=xxx>里的xxx
PublicPropertyGetName()
Name=m_strName
EndProperty

ContentType是失掉文件contentType
PublicPro</p>ASP脚本是采用明文(plaintext)方式来编写的。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-17 23:41:39 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-21 10:23:56 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
柔情似水 该用户已被删除
地板
发表于 2015-1-30 15:01:07 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
小魔女 该用户已被删除
5#
发表于 2015-2-6 13:40:15 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
小妖女 该用户已被删除
6#
发表于 2015-2-16 07:26:31 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-5 01:38:51 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
山那边是海 该用户已被删除
8#
发表于 2015-3-11 22:07:47 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
再现理想 该用户已被删除
9#
发表于 2015-3-19 15:03:47 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-28 15:59:43 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 01:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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