第一篇:Windows Server 2003 下 ASP 及
2010年06月4日抢沙发
基于 Windows Server 2003 下的 IIS 6.0 来搭建 ASP 及.NET 网站虚拟主机服务环境,需要进行这么几步:
Windows Server 2003 操作系统的安装、安全设置及性能优化; 相关软件的安装配置; IIS 6.0 服务环境的设置,包括 HTTP 服务和 FTP 服务; 虚拟主机用户帐户的建立、用户目录的建立、权限的设置。
下面分别研究。
安装配置 Windows Server 2003
安装系统环节要注意的主要是可选组件,没必要的统统去掉,添加作为 HTTP Server 所必需的组件,包括 应用程序服务器-> ASP.NET,这个一旦勾选,相关的支持组件会自动被勾选,之后还要增加 应用程序服务器-> Internet 信息服务(IIS)-> 文件传输协议(FTP)服务 和 应用程序服务器-> Internet 信息服务(IIS)-> 互联网服务-> Active Server Pages,这里重要的一点是,不必把整个组件组全部勾选,比如不必完全选中整个 Internet 信息服务(IIS),而只需要单独勾选上面指出的就行了。添加的越多安全隐患也就越大,尤其是 Web 远程管理之类的功能。
作为和.NET 网站配套为用户提供服务的一个重要软件就是 Microsoft SQL Server 2005 数据库服务软件,一并装之。
微软家族的产品安装完成后必须要不厌其烦地坚决执行一项任务:Windows Update 或 Microsoft Update,我用正版我骄傲,升级无忧!这期间涉及到相当多的补丁,还有补丁的补丁,非关键更新最好也都安装,而且有些也是必须安装的,比如.NET Framework 系列。
PS: 如果你是本着 “学习和研究” 的精神去 “学习和研究” Windows Server 2003 和 Microsoft SQL Server 2005,那就得本着 “学习和研究” 的精神去 “学习和研究” 一下 Windows Update 或 Microsoft Update 的破解。好在互联网上已经有很多牛人 “学习和研究” 过了,你可以很方便的 “学习和研究” 一下他们 “学习和研究” 的结果。
接下来要进行安全和性能方面的调整,互联网上有很多关于 Windows 2003 安全设置的文章,其中一篇在 这个链接,其实没必要完全照本宣科,根据文章中的精神和自己的实际情况和环境,酌情进行一些调整就行了。尤其文中提到的关于服务的调整,可以根据自己的要求和体会选择哪些自动、哪些手动、哪些禁用。其实 Windows 优化大师 是很不错的一个软件,其中关于系统的安全和性能的调整选项也很多,可以借用一下。
之后可以安装一些必要的软件,其中一个就是远程管理软件。出于安全考虑,我禁用掉了作为众矢之的的操作系统自带的远程桌面。取而代之的是安装基于 VNC 协议的软件,这些软件中,我觉得免费软件是个非常不错的选择。软件很小巧,而且性能好效率高,功能也很多,比如剪贴板共享,互传文件,这都是必不可少的最实用的功能。安装的时候注意要一并安装 Video Hook Driver,以便 UltraVNC 能高效地直接同显卡进行沟通,提高显示的质量和效率。
这些只是小小前奏,下面的环节更加重要。
FTP 服务的配置
作为为用户提供网站上传服务的 FTP Sevice,很多人选择 Serv-U FTP Server。我觉得有时也不是很有必要,Serv-U 大多是用于专用 FTP 服务的,而仅仅作为网站管理员在某些时候上传一下网站文件,我觉得 IIS 6.0 自带的 FTP 服务组件就足够用了。另外,Serv-U 作为一个名气很大的软件,针对它的攻击手段也是数不胜数的,网上基于 Serv-U 的提权工具都泛滥成灾了。
IIS 6.0 的 FTP 配置非常方便,可以一劳永逸。IIS 6.0 的 FTP 有一个功能叫做 隔离用户(PS: 这一功能 Linux 下的多个著名的 FTPD 软件早在 N 年前就已经具备了,而微软直到 IIS 6.0 才有),通过这个功能,用户只能限制在自己的主目录。而 IIS 实现这一功能的方式是这样的(引自官方帮助文档): 创建隔离用户的新 FTP 站点 1.2.3.4.5.6.7.8.在 IIS 管理器中,展开本地计算机,右键单击“FTP 站点”文件夹,指向“新建”,然后单击“FTP 站点”。在“FTP 站点描述”和“IP 地址和端口设置”对话框中提供所需的信息,然后单击“下一步”。在“FTP 用户隔离”对话框中,单击“隔离用户”,然后单击“下一步”。完成向导的其余步骤。右键单击创建的新 FTP 站点,然后单击“属性”。单击“安全帐户”选项卡。如果选中了“允许匿名连接”复选框,则在“用户名”和“密码”框中键入用于验证匿名用户的用户名和密码。如果允许匿名访问,请在 FTP 站点主目录下创建 LocalUser 和 LocalUserPublic 子目录。如果本地计算机用户使用他们各自的帐户用户名登录(而不是作为匿名用户),请在 FTP 站点
根目录下创建 LocalUser 和 LocalUserusername 子目录,以允许每个用户连接该 FTP 站点。
9.如果不同域的用户使用显式 domainusername 凭据登录,请在该 FTP 站点根目录下为每个域
都创建一个子目录(使用域名)。在每个域目录下,为每个用户创建一个目录。例如,要支持用户 Salesuser1 访问,请创建 Sales 和 Salesuser1 目录。
这种方式也有不足的地方,官方文档中也有介绍:
注意 当使用该模式创建了上百个主目录时,服务器性能会下降。
所以这种方式只适合用作小规模虚拟主机的 FTP 服务,用户多了还是换别的方式好,不过我个人觉得这个性能的影响不会太大,因为毕竟这个 FTP 只是提供给网站管理员上传网站的,而这种动作并不会太频繁。
因此,根据官方文档的指示,只需新建一个 FTP 站点,把主目录指向放置虚拟主机网站文件的目录,比如此主目录为 D:,这个 D 盘的就是安装系统是分出来专门放置网站的盘符。创建 D:LocalUser 目录,这里要注意一点,FTP 站点主目录指向的应该是 LocalUser 目录的上级目录,也就是 D:,而不能指向 D:LocalUser。
FTP 设置主要有这么一些:
可以把监听端口改成自己随便选的数字,而不用默认的21端口,可以避免被一些暴力扫描盯上。当然得另行通知网站管理员新的 FTP 端口。FTP 站点链接数可以根据实际情况或需要做调整,或者不限制。如果需要启用日志记录以便将来反查一些恶意事件,为了防止时间一长,日志把系统盘占满,可
以把日志文件目录从默认的系统目录移到另一个专用目录,比如 E:LogFiles 之类的。这时可能
要特别注意一个问题,如果新的目录写入有问题,可能要对目录的权限做调整,这可以参考设置中指向的原来的那个目录的权限来操作。
确认允许匿名连接没有被启用。勾选上主目录的写入权限,不然用户就无法上传了。在目录安全性里,可以勾选拒绝访问,然后下面添加内网 IP 地址段,这样的意思是来自列出的 IP
地址段之外的所有 IP 地址都将被拒绝访问。这种方式适合像我这种向单位各用户提供虚拟主机服务的情况,可以设置成只允许内网用户访问 FTP。
到这里 FTP 服务就搞定了,后面添加任何虚拟主机和帐户时都不再需要重新设置了。比如添加一个帐户名为 user 的帐户后,只要在 D:LocalUser 目录下建立一个同名目录(user)即可,IIS 6.0 的 FTP 会自动将这个目录识别为该用户的根目录。
下面要进行 IIS 6.0 HTTP Server 的设置了。
IIS 6.0 HTTP Server 及 ASP、.NET 相关配置
首先可以右键点击 网站,选属性,调整这里的总设置,相当于默认设置。可能需要调整的有:
同样是上面如果启用日志记录的设置。在 主目录 选项卡里点下面的应用程序设置里的 配置 按钮,弹出的对话框中到 选项 选项卡中勾选 启用父路径,这是为了向传统的 ASP 引用文件方式做兼容。由于 文档 选项卡中的默认内容文档只有 Defult.xxx,可以根据需要添加 index.asp、index.aspx,index.html,index.htm,并调整优先次序。自定义错误 指向了一些文件页面,这里最好恢复成默认值,也就是仅向客户端传递错误号和错误信息关键字符串,安全和性能方面会好一些。停用 IIS 6.0 自动建好的默认站点。之后还需要在 Web 服务扩展 中开启 Active Server Pages。
IIS 6.0 还有一个地方很多人可能都希望调整一下,那就是上传数据的大小限制。先停止 IIS 服务,然后找到 C:WINDOWSsystem32inetsrvMetaBase.xml 文件,定位里面的 ASPMaxRequestEntityAllowed 处。默认为 204800 即 204800 字节(200KB),修改为想要的数字如:2048000(即 2MB)。修改后重启 IIS 服务即可。
接下来要进行一个与 ASP 相关的极其重要的安全设置,那就是给Shell.Application、WScript.Shell、WScript.Network 这三个危险组件做手术。有人采用注销、禁用或删除的方式来对待这三个组件,我觉得这样太残忍了!这三个组件是操作系统所有的,并不是单独属于 ASP 的,只不过微软当初在设计 ASP 时,愚蠢地赋予了 ASP 调用包括这三个组件在内的一些系统组件的超能力。而完全谋杀这三个组件有可能导致将来为了某些正常目的而需要调用时出现问题。所以最好的做法是通过注册表把这三个组件更名,将来要调用的时候用新名字来调用即可,而这个新名字只有你知道,所以相当于密码加密了。
比如,在注册表里搜索 Shell.Application,将所有找到的匹配更名为 Shell.Application_xxx,并且把 Shell.Application.1 一并改掉,如改成 Shell.Application.1_xxx。三个组件都做这样的修改,这只是第一步,我们要双管齐下,修改对应的 CLASS ID。在刚才的搜索里,记录下来每个组件对应的 CLSID 的值,然后把所有这些值改掉,但要注意一致性,比如 Shell.Application 的 CLSID 可能是 {13709620-C279-11CE-A49E-444553540000},可以把它都改成 {13709620-C279-11CE-A49E-444553541234}。
这里还要对网站主目录进行一些总的权限设置,以便下级的各网站目录能够直接继承我们定制的权限。
右键点网站主目录(本文即 D:LocalUser)选 属性,打开的对话框中定位到 安全 选项卡,然后点下面的 高级 按钮。首先取消勾选下面的 允许父项的继承权传播到该对象和所有子对象,弹出的对话框中点 复制 按钮,把原有的继承权限复制成本目录自己的权限。之后只保留 Administrators、CREATOR OWNER、SYSTEM,其余帐户如 Guests、Users
之类的全部删除,据说还要添加 ASPNET 帐户的读取和运行权限,这个可以在实际运行中从日志中或错误中判断是否真正需要。
最后,在系统中添加一个用户组 vHost,所有的网站管理帐户都放在这里面,这样的好处是方便将来统一对这个组进行一些权限设置。
IIS 的统一设置完成了,在下面的添加帐号和网站时,还有一系列复杂的操作要做。
虚拟主机帐户的建立、网站的建立、权限的设置
以实例说明,比如要添加一个基于域名 test.domain.com 的虚拟主机,对应的管理帐户是 test,依次做以下操作:
创建三个帐户:test、test_iusr、test_iwam,其中 test 帐户用于网站管理员上传主页的帐号,test_iusr 为 IIS 进程访问此网站对应的专用 IIS 来宾帐户,test_iwam 为启用相关程序(如应用程序池、.NET程序)的专用 IIS 进程帐户。把三个帐户隶属于中的 Users 组去掉,然后分别设置隶属于至:test-> vHost 组、test_iusr-> Guests 组(当然也可以创建一个专用的 iusr 组)、test_iwam-> IIS_WPG 组。三个帐户分别设置密码,其中的 test 帐户密码告知网站管理员用于上传网站。
在网站主目录(本文中就是上面提提到的 D:LocalUser)下建立 test 目录。接下来要设置此目录的权限。
首先确定这里目前只有继承自父目录 LocalUser 的权限,其它的删除。添加 test 帐户,勾选 修改 权限,系统会自动把其它相关的必要权限勾选。这个操作是为了赋予网站管理员用此帐户上传网站的权限。添加 test_iusr 帐户,这个帐户的权限设置有两种:
o 一种是同 test 帐户一样,一劳永逸,内部的目录都将有写入和修改权限,用户的网站
如果需要操作 Access 数据库文件或者上传文章的图片附件之类都能顺利进行。当然这样也
有缺陷,因为整个网站的所有目录和文件都被赋予了 test_iusr 的写入和修改权限,有一定的隐患。
o 另一种是只赋予 test_iusr 默认的读取和运行权限。之后根据用户的需要,把网站中的Access 数据库和图片附件上传目录单独赋予 test_iusr 写入权限(这方面比不上 Linux 下的 FTPD 软件了,Linux 下的 FTPD 软件一般都有让用户自行通过 FTP Client 做
CHMOD 操作的功能)。
添加 test_iwam 帐户,赋予默认的读取和运行权限。
在 Internet 信息服务(IIS)管理器中,新建应用程序池 AppPool_test。之后对此应用程序池设置属性,对话框中切换到 标识 选项卡,点选第二个单选按钮 配置,指定成刚才新建的 test_iwam 帐户。
新建网站,对话框中 此网站的主机头 填入 test.domain.com,以启用基于域名的虚拟主机功能,路径 指向前面新建的目录 D:LocalUsertest,后面的 权限 中勾选 运行脚本。接着修改新建好的网站的属性,对话框中 主目录 选项卡最下面的 应用程序池 指定刚才新建的 AppPool_test,目录安全性 选项卡 编辑 身份验证和访问控制,把匿名访问的帐户改成上面的 test_iusr,ASP.NET 选项卡中把 ASP.NET 版本换成用户网站需要的版本。
自此一个虚拟主机就搭建完成,也完成了一个网站的创建。最后可以对网站做一些安全测试,比如放个 ASP 探针来检查一些设置,或者运行个木马看看那些危险组件之类的会不会被利用。
步骤比较繁琐,尤其重要的就是创建三个帐户,以及对网站的几个专用账户的设置、应用程序池的设置、目录权限的设置。这样做并不是无懈可击,只不过把每个网站的权限全部分离,不再使用 IIS 统一的 IIS来宾帐号和 IIS 进程帐号。由于 ASP 语言门槛低,虽然不乏很多优秀的程序员,但也充斥着大量的低素质编程人员,网站做得漏洞百出,可以很轻易地被利用。权限分离的好处就是,即使某个网站被黑,黑客也没办法利用这个网站的这几个专用帐户去侵害其它网站。接下来我所要做的就是通知被黑网站的管理员进行彻底的自查了。
第二篇:asp 专题
三、简答题与程序设计题
编写程序计算112+ 122+132+…+232的值。在个人主页上添加时间信息,并判断下午、晚上,上午和夜间,并分别给出问候:下午好、晚上好、上午好和夜里好。
编写函数返回x和y的立方和,并举例调用。
在ASP中,VBScript有多种控制程序流程语句,如If…Then, Select… Case,For … Next, Do … Loop, Exit等语句。请为这五个语句分别写一段使用的代码。
请看如下代码<%TestString=“Test”TestATestBResponse.write TestStringSub TestA()TestString=“TestA”End SubSub TestB()Dim TestStringTestString=“TestB”End Sub%>这段代码执行后,运行结果是什么?并解释一下为什么?
编写一个星期的函数GetWeek(aDate)返回“星期
一、星期
二、星期三...” 用ASP输出九九乘法口决表的网页输出如下:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9...要求编写一个完整的ASP文件
2010-12-10 15:43 最佳答案 第一题: <% dim j:j=0 for i=112 to 232 step 10 j=i+j next response.write j %>
第二题: <% dim mytime:mytime=hour(now())if mytime>=0 then response.write “夜间好” if mytime>=8 then response.write “上午好” if mytime>=12 then response.write “下午好” if mytime>=18 then response.write “晚上好” %>
第三题: <% Response.Write “23和45的立方和是:” &getSum(23,45)
function getSum(a,b)
getSum=a^3+b^3 end function %>
第四题:
1>
if...then
for example:
Dim Color, MyVar
Sub ChangeBackground(Color)
MyVar = lcase(Color)
If myvar=“red” then
document.bgColor = “red”
elseif myvar= “green”
document.bgColor = “green”
elseif myvar= “blue”
document.bgColor = “blue”
Else response.write(“选择另一种颜色”)
End if
End if
End Sub
2>select..case
for example:
Dim Color, MyVar
Sub ChangeBackground(Color)
MyVar = lcase(Color)
Select Case MyVar
Case “red”
document.bgColor = “red”
Case “green” document.bgColor = “green”
Case “blue”
document.bgColor = “blue”
Case Else
MsgBox “选择另一种颜色”
End Select
End Sub 3> For…next
比如实现一个循环输出记录
For i=1 to rs.recordcount If rs.eof then
Rs(“title”)Rs.movenext End if Next 4> Do … Loop
以上例类似,实现重复显出记录 If not rs.eof then
i=1
do while not rs.eof
rs(“title”)
rs.movenext
i=i+1
loop
end if
第五题:
运行结果是:testA 原因是:testA所附值的是一个全局变量TestString testB因为有Dim TestString这句定义,所以它所附值的只是一个局部变量。第六题:
function GetWeek(aDate)if isdate(aDate)then GetWeek=weekdayname(WeekDay(aDate))end if end function response.Write GetWeek(“2002/1/3”)第七题: 方法1:
<%=j&“*”&i&“=”&j*i%> <%next%> | <%=“ ”%> <%next%> |
第三篇:ASP总结
ASP 课 程 设 计 总 结系别:信息工程系 班级:09大计一班 学号:52 姓名:张明
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到了提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在连续两周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对我们计算机专业的专科生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
回顾起此次asp课程设计,至今我仍感慨颇多,的确,从拿到老师给我们的题目,然后老师简单的阐述我们该做些什么,该完成些什么的时候,我就觉得这个课程设计是很有挑战的,因为我知道平时自
己学的知识不是很牢固,这些做起来肯定很棘手。事实验证了我的想法。在整整两星期的日子里,可以说得是苦多于甜,由于对相关知识所学甚少,可以说做起设计来是一片茫然。在设计的过程中遇到问题,可以说得是困难重重,遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。看着那些陌生的代码和程序,真的不知道该怎么办。但是最后还是我们组其他成员帮助了我。在他们做的差不多的情况下,我在帮忙整理和美化,并试着去看懂代码,在这期间我也弄懂了不少问题和知识。由于自己并没多少知识,别人可以说是通过此次课程设计巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,而我呢,只能说是从这次课程设计中重新审视了自己,终于发现自己对所学知识的严重不足,这也给我提了个醒,没知识终究将是一事无成。
不过通过这次课程设计我也明白了很多事理。它使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
课程设计达到了专业学习的预期目的。在两个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对汇编语言重大功能的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!
第四篇:asp总结
生成静态页面的代码:
<%
dim xmlHttp,os, PersonNum
'定义xmlhttp
function GetXmlText(Url)
dim GetXmlHttp
set GetXmlHttp=server.Createobject(“Microsoft.XMLHTTP”)GetXmlHttp.open “Get”,url,false,“",”“
GetXmlHttp.Send
'GetXmlText=GetXmlHttp.Responsetext
GetXmlText=GetXmlHttp.ResponseBody
set GetXmlHttp=Nothing
end function
'转换为字符
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject(”adodb.stream“)objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'保存文件
Sub SaveToFile(strBody,File)
Dim objStream
Set objStream = Server.CreateObject(”ADODB.Stream“)With objStream
.Type = 2
.Open
.Charset = ”GB2312“
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
%>
<% dim k
k=0
'set rs=server.createobject(”adodb.recordset“)
'sql=”select ComId FROM CompanyTbl order by Comid desc“
'rs.open sql,conn,1,1
'PersonNum = rs.recordcount
'
do while k<10
Randomize
ComId=int(rnd*1000)
%>
<%SaveToFile
BytesToBstr(GetXmlText(”“%>
<%
'rs.movenext
k=k+1
loop
'rs.close()
'Set rs=Nothing
'Qsite.ShowMsg ”成功生成企业(“&PersonNum &”)份“ , ”../sitesys/muban1.asp“
%>
加载数据库代码:
<%
response.expires=0
response.buffer=true
session.timeout=30
dim conn
dim char_str(20)
sub OpenDataConn()
dim connstr
connstr = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“
connstr = connstr & Server.MapPath(”../data/qhousedb.asp“)
'response.write connstr
set conn=Server.CreateObject(”AdoDb.Connection“)
conn.Open connstr
end sub
sub CloseDataConn()
'conn.close
set conn=Nothing
end sub
%>
插入记录语句的执行1:
sql=”insert into news(topic,q1,fromw,sort,comment)values(“&topic&”,“&q1&”,“&fromw&”,'“&sort&”',“&comment&”)“
opendataconn
conn.execute sql
response.redirect”news_del.asp“
修改语句的执行2:
sql=”updatenews set topic=“&topic&”,q1=“&q1&”,fromw=“&fromw&”,sort='“&sort&”',DNT=now(),comment=“&comment&” where newsid=“&newsid&”“
删除语句的执行3:
<%
opendataconn
ids=split(request(”newsid“),”,“)
for i=0 to ubound(ids)
tt=trim(ids(i))
set rs=server.createobject(”adodb.recordset“)
'rs.open”select * from news where newsid=“&tt&”“,conn,1,1
'If Not Rs.Eof Then
'imgname=Split(Trim(Rs(”imgname“)),”,“)
' For m=0 to ubound(imgname)
'If len(imgname(m))>12 then
'set fso=Server.CreateObject(”Scripting.FileSystemObject“)
' fso.deleteFile Server.MapPath(”../pic/“&imgname(m))
'Set fso=Nothing
' end if
'Next
' End if
'rs.close
sql=”select * from news where newsid=“&tt&”“
rs.open sql,conn,1,1
if not rs.eof then
conn.execute ”delete from news where newsid=“&tt&”“
rs.close
set rs=nothing
end if
conn.execute”delete from news where newsid=“&tt&”“
next
response.redirect”news_del.asp“
closedataconn
%>
输出语句的执行4:
<%
strSql=”select top 12 * from news where sort=1 order by dnt desc“set rs=Server.CreateObject(”ADODB.RecordSet“)
rs.open strSql,conn,3,3
do while not rs.eof%>
<%
Rs.MoveNext
Loop
Rs.Close %>
Session.timeout=100
失效时间!
把文件写入txt中
<%
dim fs,fname,f,t,x
set fs=Server.CreateObject(”Scripting.FileSystemObject“)公共的部分
'set fname=fs.CreateTextFile(”textads.txt“,true)
'fname.WriteLine(”我是伟!!“&year(now())&”-“&month(now())&”-“&day(now())&”“)
'fname.Close
'set fname=nothing
'set fs=nothing是写入文件中
set t=fs.OpenTextFile(”textads.txt“,1,false)
x=t.ReadLine 张小
x=replace(x,”,“,”我是张小伟“)
t.close
Response.Write(”“& x &”")读出里面的内容 %>
第五篇:学习ASP
学习ASP.NET 技术框架的心得和体会
经过一学期对ASP.NET这门课程的学习,让我们学习到很多东西,这门课程向学生全面的介绍了ASP.NET3.5动态网站开发需要的基本技术,包括配置技术、数据层、应用层的实现。通过学习与实践,学生将具备基本的ASP.NET应用程序开发技能。ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web 应用程序。
ASP.NET是Microsoft的Active Server Pages的新版本,是建立在微软新一代.Net平台架构上、建立在公共语言运行库上,在服务器后端为用户提供建立强大的企业级WEB应用服务的编程框架。ASP.NET为开发能够面向任何浏览器或设备的更安全、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。使用ASP.NET提供的内置服务器控件或第三方控件,可以建立及复杂又灵活的用户界面,大幅度减少了生成动态网页所需的代码,同时,ASP.NET能够在服务器上动态编译和执行这些控件代码。
ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为 Local Administration的哲学观念使ASP.NET的基于应用的开发更加具体,和快捷。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性ASP.NET已经被
刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。自定义性和可扩展性ASP.NET设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,ASP.NET可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。ASP.NET的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于.NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与.NET 兼容的语言(包括 Visual Basic.NET、C# 和 JScript.NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio.NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器
控件拖放到 Web 页的 GUI 和完全集成的调试支持。当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些HTML语言和简单的Web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),但是你必须了解交互式Web程序开发的概念,包含窗体,脚本,和数据接口的概念。ASP.NET 提供了数个重要的优点:
1.增强的性能:ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。ASP.NET 可利用早期绑定,实时编译,本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。世界级的工具支持.ASP.NET Framework 补充了Visual Studio 集成开发环境中世界级的工具支持。大量工具箱和设计器WYSIWYG 编辑,拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
2.威力和灵活性:由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员 威力和灵活性,可以利用整个平台的威力和灵活性,NET Framework 类库,消息处理和数据访 问解决方案都可从 Web 无缝访问.ASP.NET 也与语言无关,所以可以选择最适 合应用程序的语言,或跨多种语言分割应用程序,另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于COM 的开发中的现有
投资。
3.简易性:ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证,到部署和站点配置。例如: ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了程序开发。
4.可管理性:ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。这种零本地管理思想也扩展到了 ASP.NET Framework 应用程序的部署。只需将必要的文件复制到服务器, 即可将 ASP.NET Framework 应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
5.可缩放性和可用性:ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外。进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏,死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。自定义性和扩展性.ASP.NET随附了一个设计周到的结构。它使开发人员可以在适当的级别插入代码。实际上, 可以用自己编写的自定义组件扩展或替换ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。
6.安全性: 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用安全性,程序是安全的。
以上这些是我对本科目的简单介绍以及其部分内容。在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达 到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。在Visual Studio 2008的开发环境下我们知道了怎么样去用ASP.NET建立Web网页和创建ASP.NET Web页面所需的基础知识等等。在学习过程中主要要建立自己的学习模式,大胆的去尝试,要有信心,制定自己的学习计划,寻找适合自己的学习方法,这样就会很容易去学习了。
在快乐的学习过程中我们更加了解了自己的专业以及自己的发展方向,在以后的学习中广泛阅读与本专业相关的书籍以及知识,多方面得去扩展自己的才能,既然选择了这门专业就要努力去做到最好,为自己的以后多打基础。
学习ASP.NET 技术框架的心得和体会
系别 :
班级 :
姓名 :
学号 :机电动力与信息工程系 09计算机马楠120090510027